Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我为什么要用“为什么?”;int输入{0}&引用;而不是",;整数输入&引用; 我已经开始从CeleNCPP.com学习C++了。p>_C++ - Fatal编程技术网 ,c++,C++" /> ,c++,C++" />

我为什么要用“为什么?”;int输入{0}&引用;而不是",;整数输入&引用; 我已经开始从CeleNCPP.com学习C++了。p>

我为什么要用“为什么?”;int输入{0}&引用;而不是",;整数输入&引用; 我已经开始从CeleNCPP.com学习C++了。p>,c++,C++,在解释函数的地方,第一个例子中有一个奇怪的变量初始化:intinput{0} 我的IDE(CLion)声明:>预期“;”在声明末尾 如果我运行这段代码(使用gcc),它运行得很好。如果我去掉括号也是一样的 那么变量名后面的{}是什么意思呢 以下是完整的示例: #包括 int getValueFromUser() { std::cout>输入; 返回输入; } int main() { int num{getValueFromUser()}; std::cout标题有误导性,也许您想问{0}和=0

在解释函数的地方,第一个例子中有一个奇怪的变量初始化:
intinput{0}

我的IDE(CLion)声明:>预期“;”在声明末尾

如果我运行这段代码(使用gcc),它运行得很好。如果我去掉括号也是一样的

那么变量名后面的
{}
是什么意思呢

以下是完整的示例:

#包括
int getValueFromUser()
{
std::cout>输入;
返回输入;
}
int main()
{
int num{getValueFromUser()};

std::cout标题有误导性,也许您想问{0}和=0之间的区别,而不是为什么要初始化变量。请澄清问题

intx{0};
将变量初始化为0,等于
intx=0;
。这是C++11中添加的特性

最佳实践包括在变量中进行初始化。 如果不初始化整数,并且由于它没有默认构造函数,编译器将不会初始化它

这意味着在您使用它时,它将有一个未定义的值。如果您第一次写入它,这可能不是问题,但如果您忘记它未初始化,并假设它有一个已定义的值,则可能是一个严重的问题

下面是代码中多次出现的一个小错误:

int n;
int factorial;
cin >> n; 
for(int i = 1; i <=n; i++)
    factorial *= i; // Whops, factorial started with undefined value 
intn;
整数阶乘;
cin>>n;

对于(int i=1;i回答标题
为什么我应该使用“int input{0};”而不是“int input;”“

int-input{0};
int-input=0;
使用
0
int-input初始化变量
input
不初始化值
input
不确定。如果以后使用该变量,可能会导致未定义的行为:

int input;          
int var = input;           // undefined behavior

<> P>关于贾斯廷的详细信息,如果你想学习C++,我建议你从其中之一中避免这些警告,确保你的IDE语言设置至少使用C++ 11。@,我会删除它,我的坏。谢谢。