gpt4 book ai didi

c++ - C++中未设置的 boolean 值的默认值?

转载 作者:IT老高 更新时间:2023-10-28 21:53:57 28 4
gpt4 key购买 nike

Possible Duplicate:
Why is a C++ bool var true by default?

假设我要做这样的事情:

class blah
{
public:
bool exampleVar;
};

blah exampleArray[4];
exampleArray[1].exampleVar = true;

在 exampleArray 中,现在有 3 个未设置的 exampleVar 实例,如果我没有设置它们,它们的默认值是多少?

最佳答案

默认值取决于声明 exampleArray 的范围。如果它是函数的本地值,则值将是随机的,无论这些堆栈位置发生在什么值。如果它是静态的或在文件范围内声明(全局),则值将初始化为零。

Here's一个示范。如果您需要成员变量具有确定性值,请始终在构造函数中对其进行初始化。

class blah
{
public:
blah()
: exampleVar(false)
{}

bool exampleVar;
};

编辑:
C++11 不再需要上述示例中的构造函数。数据成员可以在类声明本身中初始化。

class blah
{
public:
bool exampleVar = false;
};

如果需要,这个内联默认值可以被用户定义的构造函数覆盖。

关于c++ - C++中未设置的 boolean 值的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7863956/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com