gpt4 book ai didi

C++ 太多的析构函数调用了这么少的对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:11 27 4
gpt4 key购买 nike

<分区>

这是代码(也在 http://pastebin.com/yw5z2hnG ):

#include <iostream>
#include <vector>
using namespace std;

class X
{
public:
int i;
X();
~X();
};

X::X()
{
i = 1;
cout << "---constructor" << '\n';
}

X::~X()
{
cout << "***desctructor" << '\n';
}

int main()
{
vector<X> *vx = new vector<X>;
cout << "------------------------------------" << endl;
vx->push_back(X());
vx->push_back(X());
vx->push_back(X());
vx->push_back(X());
vx->push_back(X());
cout << "------------------------------------" << endl;
delete vx;
}

我得到的输出是:

------------------------------------
---constructor
***desctructor
---constructor
***desctructor
***desctructor
---constructor
***desctructor
***desctructor
***desctructor
---constructor
***desctructor
---constructor
***desctructor
***desctructor
***desctructor
***desctructor
***desctructor
------------------------------------
***desctructor
***desctructor
***desctructor
***desctructor
***desctructor

我不明白为什么要调用这么多析构函数。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com