我一直在研究如何在C++中创建类的实例。似乎有几种方法可以做到这一点:
ClassExample classExample1;
ClassExample classExample2();
ClassExample classExample3(void);
ClassExample classExample4 = ClassExample();
1和4调用默认构造函数。当我使用2和3时,似乎无法引用变量并且它们未初始化。在调试器中,它们被跳过。为什么会这样?它们是相同的吗?有什么区别?是否有首选选项?
当我们有要传递的参数时,有两种方法可以做到这一点:
ClassExample classExample1(true, 1, "");
ClassExample classExample2 = ClassExample(true, 1, "");
再次确认,有什么区别吗?哪个是首选选项?
更新
C++ 11还引入了这种形式的初始化:
ClassExample classExample2{ };
这相当于:
ClassExample classExample2();