读书人

关于C++构造与析构函数调用次数匹配有

发布时间: 2013-03-25 15:43:04 作者: rapoo

关于C++构造与析构函数调用次数匹配问题
#include <iostream>
#include <map>
#include <vector>

using namespace std;

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

int main()
{
vector<A> va;
va.push_back(A());
map<int, vector<A> > mvA;
mvA[1] = va;
cout << "~~~~~~~~~~~" << endl;
return 0;
}


输出:
A
~A
~~~~~~~~~~
~A
~A

请教: A的构造与析构调用次数为什么不等??



[解决办法]
拷贝构造函数的存在
[解决办法]
自己没有定义拷贝函数时候,系统会使用默认的拷贝构造(编译器生成的),因此你没有看到构造过程,只看到了析构

读书人网 >C++

热点推荐