我正在学习C++,我遇到了两种不同类型的代码编写,我想知道它们的区别是什么。
以下内容有什么不同:
if(z==true)
{
cout << "Yes";
}
else
{
cout << "NO";
}和:
if(z==true)
cout << "YES";
else
cout << "NO";发布于 2011-07-25 03:24:01
从技术上讲不是,但有一个是我更好的实践。如果省略大括号,则只执行下一行,而不是执行大括号内的所有内容。您可以看到代码的快速更改如何引发问题。
说你有
if(z==true)
cout << "YES";
else
x = 47;并将其修改为
else
x = 47;
y = 99;Y= 99;是无条件执行的。最好避免这些陷阱,只使用大括号。
发布于 2011-07-25 03:21:19
不,这两个没有区别。只有当有多个语句时才需要{},但有些人认为,如果以后添加更多语句,则始终使用它们可以降低出现奇怪错误的风险。
发布于 2011-07-25 03:21:41
此代码的行为与此相同。所以这只是一个风格问题。
许多程序员更喜欢前者,因为它更健壮。很容易以一种不像预期那样工作的方式更改第二个。如果有多个语句(或没有语句),则{}是必需的。因此,对第二个部分的更改很容易导致代码中认为某个部分是有条件的/无条件的,而事实并非如此。尤其是在有缩进的情况下。
就我个人而言,我认为如果你有一个好的IDE,可以自动格式化代码,风险是很小的。
https://stackoverflow.com/questions/6809066
复制相似问题