首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >if()的区别?

if()的区别?
EN

Stack Overflow用户
提问于 2011-07-25 03:20:00
回答 4查看 156关注 0票数 3

我正在学习C++,我遇到了两种不同类型的代码编写,我想知道它们的区别是什么。

以下内容有什么不同:

代码语言:javascript
复制
 if(z==true)
  {
    cout << "Yes";
  }
  else
  {
    cout << "NO";
  }

和:

代码语言:javascript
复制
 if(z==true)
  cout << "YES";
 else
  cout << "NO";
EN

回答 4

Stack Overflow用户

发布于 2011-07-25 03:24:01

从技术上讲不是,但有一个是我更好的实践。如果省略大括号,则只执行下一行,而不是执行大括号内的所有内容。您可以看到代码的快速更改如何引发问题。

说你有

代码语言:javascript
复制
if(z==true)
  cout << "YES";
else
  x = 47;

并将其修改为

代码语言:javascript
复制
else
  x = 47;
  y = 99;

Y= 99;是无条件执行的。最好避免这些陷阱,只使用大括号。

票数 8
EN

Stack Overflow用户

发布于 2011-07-25 03:21:19

不,这两个没有区别。只有当有多个语句时才需要{},但有些人认为,如果以后添加更多语句,则始终使用它们可以降低出现奇怪错误的风险。

票数 6
EN

Stack Overflow用户

发布于 2011-07-25 03:21:41

此代码的行为与此相同。所以这只是一个风格问题。

许多程序员更喜欢前者,因为它更健壮。很容易以一种不像预期那样工作的方式更改第二个。如果有多个语句(或没有语句),则{}是必需的。因此,对第二个部分的更改很容易导致代码中认为某个部分是有条件的/无条件的,而事实并非如此。尤其是在有缩进的情况下。

就我个人而言,我认为如果你有一个好的IDE,可以自动格式化代码,风险是很小的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6809066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档