【发布时间】:2018-04-01 06:36:20
【问题描述】:
#include <iostream>
using namespace std;
class Obj {
public:
Obj(){cout <<"create obj" << endl;}
Obj(const Obj& other){cout<<"copy create obj"<<endl;}
~Obj(){cout<<"destructed obj"<<endl;}
};
int main() {
Obj(Obj((Obj())));
cout<<"---- exit main ----"<<endl;
}
我不知道为什么这个程序只打印出 1 个 create obj 和 1 个 destructed obj。帮助。
【问题讨论】:
-
只是为了好玩试试这个:
Obj{Obj{{Obj{}}}}; -
哦! c++编译器不优化这种格式?为什么???
标签: c++ class oop object constructor