析构函数执行顺序列表

时间:2017-01-28 09:42:04

标签: c++ destructor

您可以从此代码创建析构函数执行顺序列表吗?

Ap1(1);
int main()
{
   A* p2= new A(2);
   {
      Ap3(3);
   }
   Ap4(4);
   Ap5(5);
   delete p2;
   return 0;
}

1 个答案:

答案 0 :(得分:1)

它看起来很像家庭作业,所以我不会给你准确的答案,你应该很容易做到,我会告诉你一个简单的方法来解决。创建一个简单的类,在构造和销毁时输出,只需读取输出。

我在这里做了一个简单的示例: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;
};