有个类A(有无参默认构造函数),然后main函数中,定义了一个类A的对象,代码是这样:A a=A();
请问:这是通过A()临时建立一个类对象然后赋给a,然后再释放这个临时对象,还是等价"A a();"?我在构造函数和析构函数中加了输出的调试语句,但却只显示出一次类A的构造和析构
C++中类对象初始化问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- oyljerry 2016-12-30 09:21关注
A a=A();
这样也是调用的构造函数,只是所谓的复制构造函数。它不会生成临时对象,再拷贝而是只有一次构造析构。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报