【问题标题】:Destructor execution order list析构函数执行顺序列表
【发布时间】: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


【解决方案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;
};

【讨论】:

  • 目前我无法访问编译器,也不知道这个站点。这是即将到来的考试所需的知识。非常感谢
  • 您是否在寻找(n 在线)编译器?
  • 我在寻找执行顺序。但是在线编译器解决了我的问题,我不知道它存在。
猜你喜欢
  • 2015-08-02
  • 2016-04-20
  • 2011-10-28
  • 2011-05-01
  • 2010-12-25
  • 2019-06-04
  • 2012-05-26
  • 2013-01-29
  • 2017-10-20
相关资源
最近更新 更多