if()的区别?

iba*_*ezz 3 c++

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

之间有什么区别:

 if(z==true)
  {
    cout << "Yes";
  }
  else
  {
    cout << "NO";
  }
Run Code Online (Sandbox Code Playgroud)

和:

 if(z==true)
  cout << "YES";
 else
  cout << "NO";
Run Code Online (Sandbox Code Playgroud)

dav*_*ave 8

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

说你有

if(z==true)
  cout << "YES";
else
  x = 47;
Run Code Online (Sandbox Code Playgroud)

并将其修改为

else
  x = 47;
  y = 99;
Run Code Online (Sandbox Code Playgroud)

y = 99; 无条件执行.最好避免这些陷阱,只需使用大括号即可.

  • 当不在大括号中的语句是一个宏时,也遇到了问题:如果它在某个稍后的某个时候成为一个多行宏,那么if语句会突然表现不同(并且你失去了一天的生活调试!).简而言之:始终使用大括号. (2认同)

And*_*bel 6

不,这两者之间没有区别.该{}如果有多个语句时,才需要,但有些人认为,总是让他们减少了奇怪的错误风险,如果更多的语句后加入.