我开始学习C++。在学习的过程中,我注意到了一件事情,即不放花括号({})来限制的能力,例如循环体,分支等。同时,在编译过程中没有问题,没有花括号的代码和有花括号的代码一样正确。
我想知道从代码美学的角度来看这是多么正确,使用哪个选项以及是否至少有一些区别。
例如,这是带有花括号的代码:
#include <iostream>
using namespace std;
int main() {
while (true)
{
cout << "Hello, world" << endl;
}
}
没有花括号:
#include <iostream>
using namespace std;
int main() {
while (true)
cout << "Hello, world" << endl;
}
这不是审美问题。如果它以这种或那种方式在团队中被接受 - 就像在团队中一样。如果你一个人工作 - 如你所愿。但是请记住,如果没有括号,那么您可以匆忙添加另一行并忘记括号。如果它是这样的,那就太好了
转换成
编译器将在哪里提供帮助......如果
会变成
然而?因此,我建议(不是强加:))作为初学者放置括号,只是为了我自己的安心。
随着时间的推移,您将自己决定哪个对您更方便。
再一次 - 当在一个具有既定编码风格的团队中工作时 - 坚持团队的风格。
放或不放括号从来都不是美观或方便的问题。在某些情况下省略花括号的能力以及其他紧凑化结构被内置到语言中,用于减少代码文件大小的特定目的。这在 70 年代和 80 年代非常重要,并促成了 C 的广泛采用,然后是 C++,但现在它更像是一种返祖现象。
问题通常以“没有问题,没有花括号的代码和有花括号的代码一样好用”的消息开始。
case形式上根本不包含括号,但是作为一部分,它们的存在与否直接影响这些块的性能: