【发布时间】:2017-06-13 23:34:56
【问题描述】:
你能根据这段代码创建析构函数执行顺序列表吗?
Ap1(1);
int main()
{
A* p2= new A(2);
{
Ap3(3);
}
Ap4(4);
Ap5(5);
delete p2;
return 0;
}
【问题讨论】:
-
家庭作业?到目前为止,您尝试了什么?
标签: c++ destructor
你能根据这段代码创建析构函数执行顺序列表吗?
Ap1(1);
int main()
{
A* p2= new A(2);
{
Ap3(3);
}
Ap4(4);
Ap5(5);
delete p2;
return 0;
}
【问题讨论】:
标签: c++ destructor
它看起来很像家庭作业,所以我不会给你确切的答案,你应该很容易做到,我会告诉你一个简单的方法来弄清楚。创建一个简单的类,输出构造和销毁,然后简单地读取输出。
我在这里做了一个简单的示例:http://ideone.com/wbMeyE
class A
{
public:
A(const std::string& name) : name(name) { std::cout << "Constructing: " << name << '\n'; };
~A() { std::cout << "Destructing: " << name << '\n'; };
private:
std::string name;
};
【讨论】: