gpt4 book ai didi

c++ - boolean 变量没有初始化就有值?

转载 作者:行者123 更新时间:2023-11-30 03:52:36 27 4
gpt4 key购买 nike

我有以下代码片段:

ifstream input(aFileName);

bool select;
while (!input.eof())
{
input >> select;
cout << select << endl;
if(select){
// do something
}
}

当我运行这段代码时,我发现以下两件事我不明白:

select 变量在 bool select; 行执行后立即具有值 1,即显然没有初始化。怎么会这样?

如果提供的信息足够,请告诉我。我当然可以调整这个问题。

最佳答案

在处理 boolean 值时,您应该始终在初始化变量时存储默认值。这是来自堆栈溢出的人解释了如果没有默认值可能会发生什么影响:Default value of an unset boolean in C++?

因此,如果您想将值从 false 开始,请确保将其初始化为 false 值。

C++

ifstream input(aFileName);

bool select = false; // DEFAULT
while (!input.eof())
{
input >> select;
cout << select << endl;
if(select){
// do something
}
}

关于c++ - boolean 变量没有初始化就有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30580089/

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