from
空白符是被用於格式化的字元。在c++中,空白符主要有空格,製表符,換行。在c++編譯器中往往使用一些小的處理將空白符忽略。
因此,下面這些語句都是一樣的:
2:
3: cout << "hello world!";
4:
5: cout << "hello world!";
6:
7: cout
8:<< "hello world!";
即使最後一條語句中有新行也是沒有問題的。
下面這些函式的功能是一樣的:
int add(int x, int y)
2:
3:int add(int x, int y)
5:
6:int add(int x, int y)
7:
8:
9:int add(int x, int y)
10:
有一點需要說明的是,c++編譯器會注意到引用中的內容,如"hello world!"與"hello world!"是不同的。
在引號中直接的換行是不允許的,如:
2: world!" << endl; // not allowed
另乙個需要c++編譯器額外注意的是//注釋中的空白符。單行的注釋,僅僅持續到這一行的結束。像下面這樣的做法會使你陷入麻煩中:
<< endl; // here is a single-line comment
2:this is not part of the comment
基本格式化
不想其他的一些語言,c++並沒有強迫程式設計師任何格式化的限制(記住,僅僅是程式設計師)。幾年下來,有很多不同的c++程式格式化的方法。你會在哪些是最好的問題上發現分歧。我們的基本的經驗法則是能夠產生易讀的,有很好的一致性的**是最好的風格。
下面是我們對於基本格式話的建議:
1) 製表符設定成4個空格
2) 告訴函式開始與結束的括號擁有獨立的一行:
int main()
2:
3) 括號內的每個語句都以乙個製表符開始。如:
int main()
2:
4) 行不要太長。一般情況下,不要超過72,78,或80個字元一行。如果一行太長,它可以被分解為多行。
int main()
2:
5) 如果被分解的長行中帶有操作符,如《或+,操作符應該放置在行的結尾,而不是行的開頭:
<<
2:"really long line"
<< endl;
而不是
2:<< "really long line"
<< endl;
那樣從第一行中很容易看出第二行是繼續的。
6) 使用空白符使你的**變得更加易讀。
難讀:
2: npriceperitem = 24;
3: nvalue = 5;
4: nnumberofitems = 17;
易讀
2: npriceperitem = 24;
3: nvalue = 5;
4: nnumberofitems = 17;
難讀<< endl; // cout and endl live in the iostream library
2: cout << "it is very nice to meet you!"<< endl; // these comments make the code hard to read
3: cout << "yeah!"<< endl; // especially when lines are different lengths
易讀<< endl; // cout and endl live in the iostream library
2: cout << "it is very nice to meet you!"<< endl; // these comments are easier to read
3: cout << "yeah!"<< endl; // especially when all lined up
難讀// cout and endl live in the iostream library
2: cout << "hello world!"<< endl;
3:// these comments make the code hard to read
4: cout << "it is very nice to meet you!"<< endl;
5:// especially when all bunched together
6: cout << "yeah!"<< endl;
易讀// cout and endl live in the iostream library
2: cout << "hello world!"<< endl;
3:
4:// these comments are easier to read
5: cout << "it is very nice to meet you!"<< endl;
6:
7:// when separated by whitespace
8: cout << "yeah!"<< endl;
我們會在這個教程中遵循這些慣例,它們會成為你的習慣。當我們介紹一些新的主題時,我們會介紹新的相關風格。
從根本上來說,c++給了你選擇最適合自己風格的權利。但是,我們強烈建議你使用我們在例子中說明的相同的風格,它是在成千上萬的程式設計師的戰鬥中成功存活下來的。
1 6空白與基本格式
空白是指用於格式化的字元,在c 中主要指空格符 換行符 製表符。c 編譯器通常會忽略空白 一些特殊情況除外,比如輸出時的空格 所以下面幾個語句是一樣的。cout hello world cout hello world cout hello world cout hello world 可以看到,即...
歷屆試題 空白格式化
本次大賽採用了全自動機器測評系統。如果你的答案與標準答案相差了乙個空格,很可能無法得分,所以要加倍謹慎!但也不必過於驚慌。因為在有些情況下,測評系統會把你的答案進行 空白格式化 其具體做法是 去掉所有首尾空白 中間的多個空白替換為乙個空格。所謂空白指的是 空格 製表符 回車符。以下 實現了這個功能。...
Git的格式化與空白
格式化與空白是在跨平台情況下,多人協作開發時,遇到的令人頭疼的細小問題 由於ide的不同或者windows程式設計師在跨平台專案中的檔案行尾加入了回車換行符,這個細微的空格變化會不經意地進入大家合作的工作或提交的補丁中,在這種情況下,就可能會遇到行尾結束符問題 這是因為windows使用回車和換行兩...