Trace_Ivan
2016-12-30 09:08
采纳率: 50%
浏览 1.9k

C++中类对象初始化问题

有个类A(有无参默认构造函数),然后main函数中,定义了一个类A的对象,代码是这样:A a=A();
请问:这是通过A()临时建立一个类对象然后赋给a,然后再释放这个临时对象,还是等价"A a();"?我在构造函数和析构函数中加了输出的调试语句,但却只显示出一次类A的构造和析构

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

5条回答 默认 最新

  • oyljerry 2016-12-30 09:21
    最佳回答
     A a=A();
    

    这样也是调用的构造函数,只是所谓的复制构造函数。它不会生成临时对象,再拷贝而是只有一次构造析构。

    评论
    解决 无用
    打赏 举报
查看更多回答(4条)

相关推荐 更多相似问题