有什么区别
MyClass mc = MyClass();
和
MyClass mc;
在 C++ 中?
最佳答案
第一个调用复制构造函数,以临时对象作为参数 - MyClass()
创建临时对象。
第二个调用默认构造函数。
实际上,在大多数情况下,它们针对相同的代码进行了优化,但这就是语义上的差异。
如Negal 所述,POD 类型的情况略有不同;当“MyClass”是 POD 时,第二个片段不会对 mc
进行值初始化,而第一个片段会。
关于c++ - "MyClass mc = MyClass()"还是 "MyClass mc"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11951365/