空白是指用于格式化的字符,在C++中主要指空格符、换行符、制表符。C++编译器通常会忽略空白(一些特殊情况除外,比如输出时的空格),所以下面几个语句是一样的。
cout << "Hello world!";
cout << "Hello world!";
cout << "Hello world!";
cout
<< "Hello world!";
可以看到,即使最后一个语句中使用了换行符也是没有关系的,编译器会忽略它。
同样,下面几个函数也是相同的。
int add(int x, int y) { return x + y; }
int add(int x, int y) {
return x + y; }
int add(int x, int y)
{ return x + y; }
int add(int x, int y)
{
return x + y;
}
编译器不会忽略空白的一种情况是引号中的文本,比如:
"Hello world!"
与
"Hello world!"
是不同的,打印出的格式与引号中格式相同。
注意引号中是不允许有换行符的。
cout << "Hello
world!" << endl; // 不允许
另一种情况则是在单行注释中,单行注释只作用于一行,因此这样会给你带来麻烦:
cout << "Hello world!" << endl; // 一个单行注释
这个非注释内容
基本格式
与一些语言不同,C++并没有强制性的格式标准(如前面所提,C++哲学是对程序员的绝对信任)。在C++漫长的发展历程中,有多种格式化方法成为默认的标准,你会发现何种方法更好一直存在争议,我们的基本原则是,最好的方法应当是使代码可读性最好、一致性最好的方法。推荐格式如下:
一、制表符应设置为4个空格大小(大多数IDE中都可以进行配置),当然3个空格也是不错的。使用空格代替制表符的好处是,在不同的软件中打开代码时能保证缩进不变。
二、指示函数范围的大括号应与函数名对齐并且另起一行。
int main()
{
}
尽管一些程序员喜欢另一种风格,比如把第一个大括号放在函数名的后面,但是上面的方法可读性一般更好并且更不容易犯错,如果发生括号匹配错误很容易就可以看出来。
三、花括号中的每一个语句之前应有一个制表符大小的空白,如下:
int main()
{
cout << "Hello world!" << endl; // tabbed in one tab
cout << "Nice to meet you." << endl; // tabbed in one tab
}
四、每一行不应太长,通常来说,72, 78, 或80个字符已经是最长的了。如果一行太长,就应当在合适的结点将其分为多行,多行之间再使用一个制表符。长语句之间最好添加一行空白分开,以增加可读性。如下:
int main()
{
cout << "This is a really, really" <<
"really long line" << endl;
cout << "This is another really" <<
"really long line" << endl;
cout << "This one is short" << endl;
}
五、如果一个长语句被分为多行,那么句中的操作符(比如<<)应被置于句尾,而不是开头。
cout << "This is a really, really" <<
"really long line" << endl;
而不是
cout << "This is a really, really"
<< "really long line" << endl;
这样更容易看出两行是一个语句。
六、使用空格以使代码更容易阅读。
不易阅读
易于阅读
不易阅读
易于阅读
不易阅读
// cout and endl live in the iostream library
cout << "Hello world!" << endl;
// these comments make the code hard to read
cout << "It is very nice to meet you!" << endl;
// especially when all bunched together
cout << "Yeah!" << endl;
易于阅读
// cout and endl live in the iostream library
cout << "Hello world!" << endl;
// these comments are easier to read
cout << "It is very nice to meet you!" << endl;
// when separated by whitespace
cout << "Yeah!" << endl;
这个风格会贯穿整个教程,我们也希望它成为你的习惯。
C++给了你足够的自由来选择自己喜欢的风格,但我们仍然希望你使用上述风格,因为经过多代成千上万的程序员无数的代码检验,这个风格被证明是成功的。
转载请参看关于博客页面相关要求。
Learning a ton from these neat ariselct.