C++资源重复释放问题

这不是自己释放了2次;

可能是类互相引用,有类似现象释放资源时引起;还不太了解;

类对象作为函数参数也会引起;

下面是一个简单示例;

cpp 复制代码
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

using namespace std;

class A{
    public:
	A()
	{
		std::cout<<"String A"<<std::endl;
	}

	~A(){
		std::cout<<"Ending Class A"<<std::endl;
	}
};

A a1;

void func(A a)
{
	return ;
}

int main(int argc,char **argv)
{
	func(a1);
	return 0;
}

从运行结果看,析构函数被调用了2次;

相关推荐
CQ_YM3 小时前
数据结构之栈
数据结构·算法·
崇山峻岭之间3 小时前
C++ Prime Plus 学习笔记027
c++·笔记·学习
赖small强3 小时前
【Linux C/C++开发】Linux C/C++ 堆栈溢出:原理、利用与防护深度指南
linux·c语言·c++·stack·堆栈溢出
爱学习的梵高先生3 小时前
C++:基础知识
开发语言·c++·算法
oioihoii3 小时前
C++对象生命周期与析构顺序深度解析
java·开发语言·c++
IMPYLH3 小时前
Lua 的 tonumber 函数
开发语言·笔记·后端·junit·游戏引擎·lua
xlq223223 小时前
24.map set(下)
数据结构·c++·算法
晚风吹长发4 小时前
初步了解Linux中文件描述符-fd
linux·运维·服务器·c++·开发·文件
It's now4 小时前
BeanRegistrar 的企业级应用场景及最佳实践
java·开发语言·spring
赖small强4 小时前
【Linux C/C++开发】Linux C/C++ 高效延迟崩溃分析:基于 mprotect 的内存陷阱技术 (Electric Fence)
linux·c语言·c++·mprotect·buffer overflow