我对C++编程和编程本身比较陌生,我试图熟悉C++代码的Visual Studio编译器的预期行为.(Visual Studio 2015)
class aClass { public: int a; int b; }
然后在函数块内部,当我声明这个类的对象时:
aClass obj; cout << obj.a;
然后我确实有一次获得随机RAM内容作为变量的值,而有时我得到编译错误:局部变量未初始化.(值得注意的是,每当编译器克服错误一次,它就不会再次重复它,尽管它可能会在第一次克服错误之前多次重复它!)
关于声明对象的最佳实践的任何建议,
我应该坚持使用表格aClass obj = aClass();
来获得一致的结果.
或任何相关的意见.提前致谢.
从类或结构声明变量时,将构造对象,但内部数据不会自动初始化.由您来初始化数据.
没有初始化的成员变量的值将是不确定的,并且以任何方式使用它们(甚至从它们读取)是未定义的行为.
根据类或结构,初始化数据的方式不同.如果您定义了构造函数,那么我建议您使用构造函数初始化列表.如果您有一个POD类型的结构(就像您在代码中显示的结构),您可以简单地执行类似的操作
aClass obj = {}; // Basically the same as `aClass obj = aClass()`