首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-03-25 
关于C++构造与析构函数调用次数匹配问题#include iostream#include map#include vectorusing namesp

关于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的构造与析构调用次数为什么不等??



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

热点排行