c++ 中未初始化的 class 成员会怎样?
What happens to uninitialized class members in c++?
C++ 中未初始化的 class 成员会怎样?如果我必须这样做,我应该注意什么?
#include <iostream>
using namespace std;
class Foo {
int attr1, attr2;
public:
Foo ();
Foo::Foo () { attr1 = 5; }
Foo myThing();
What happens to uninitialized class members in c++?
它们是默认初始化的,对于像 int
这样的基本类型,这意味着它将具有不确定的值。
what should I take care of?
您应该注意不要读取不确定的值。
它们是默认构造的。
对于嵌套 类 这意味着它们必须有一个可以在没有参数的情况下调用的构造函数。
对于普通的旧数据成员(int
等),这意味着它们只是保持未初始化状态,就像任何其他 local 变量一样。
C++ 中未初始化的 class 成员会怎样?如果我必须这样做,我应该注意什么?
#include <iostream>
using namespace std;
class Foo {
int attr1, attr2;
public:
Foo ();
Foo::Foo () { attr1 = 5; }
Foo myThing();
What happens to uninitialized class members in c++?
它们是默认初始化的,对于像 int
这样的基本类型,这意味着它将具有不确定的值。
what should I take care of?
您应该注意不要读取不确定的值。
它们是默认构造的。
对于嵌套 类 这意味着它们必须有一个可以在没有参数的情况下调用的构造函数。
对于普通的旧数据成员(int
等),这意味着它们只是保持未初始化状态,就像任何其他 local 变量一样。