我一直在研究如何在 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();
最佳答案
没有首选选项的问题
ClassExample classExample2();
和
ClassExample classExample3(void);
声明一个返回ClassExample
对象的函数
关于用于创建类实例的 C++ 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24509818/