資料介紹
Google的項目大多使用C++開發。每一個C++程序員也都知道, C++具有很多強大的語言特性,但這種強大不可避免的導致它的復雜,而復雜性會使得代碼更容易出現bug.難于閱讀和維護。
本指南的目的是通過詳細闡述如何進行C+ +編碼來規避其復雜性,使得代碼在有效使用C+ +語言特性的同時還易于管理。
使代碼易于管理的方法之一是增強代碼一 致性,讓別人可以讀懂你的代碼是很重要的,保持統-編程風格意味著可以輕松根據“模式匹配”規則推斷各種符號的含義。創建通用的、必需的習慣用語和模式可以使代碼更加容易理解在某些情況下改變一些編程風格可能會是好的選擇 但我們還是應該遵循一致性原則,盡量不這樣去做。
本指南的另-一個觀點是C+ +特性的臃腫。C++是一門包含大量高級特性的巨型語言, 某些情況下,我們會限制甚至禁止使用某些特性使代碼簡化,避免可能導致的各種問題,指南中列舉了這類特性,并解釋說為什么這些特性是被限制使用的。
注意:本指南并非C+ +教程,我們假定讀者已經對C+ +非常熟悉。
頭文件
通常,每一個.cc文件( C++的源文件)都有一個對應的h文件(頭文件),也有一些例外,如單元測試代碼和只包含main0的.cc文件。
正確使用頭文件可令代碼在可讀性、文件大小和性能上大為改觀。
下面的規則將引導你規避使用頭文件時的各種麻煩。
2.頭文件依賴
使用前置聲明( forward declarations )盡量減少h文件中#include的數量。
當一個頭文件被包含的同時也引入了一項新的依賴( dependency ),只要該頭文件被修改,代碼就要重新編譯。如果你的頭文件包含了其他頭文件,這些頭文件的任何改變也將導致那些包含了你的頭文件的代碼重新編譯。因此,我們應該盡量少的包含頭文件,尤其是那些包含在其他頭文件中的。
使用前置聲明可以顯著減少需要包含的頭文件數量。舉例說明:頭文件中用到類File ,但不需要訪問File的聲明,則頭文件中只需前置聲明class File;無需#include *file/base/ileh“。
在頭文件如何做到使用類Foo而無需訪問類的定義?1)將數據成員類型聲明為Foo *或Foo & ;
2)參數。返回值類型為Foo的函數只是聲明(但不定義實現);
3)靜態數據成員的類型可以被聲明為Foo ,因為靜態數據成員的定義在類定義之外。
另一方面,如果你的類是Foo的子類,或者含有類型為Foo的非靜態數據成員,則必須為之包含頭文件。
有時,使用指針成員( pointer members ,如果是scoped. ptr更好)替代對象成員( object members )的確更有意義。然而,這樣的做法會降低代碼可讀性及執行效率。如果僅僅為了少包含頭文件,還是不要這樣替代的好。
當然,.cc文件無論如何都需要所使用類的定義部分,自然也就會包含若干頭文件。
注:能依賴聲明的就不要衣賴定義。
- 高質量C++/C編程指南 33次下載
- C和C++實物精選《C專家編程》 0次下載
- C和C++經典著作-C專家編程.PDF 0次下載
- C++核心編程基礎知識大全免費下載 2次下載
- C++ Socket網絡編程大全源代碼下載 27次下載
- C++編程調試秘笈 15次下載
- C++編程的經典作業和答案免費下載 0次下載
- Google C++編程風格指南PDF電子書免費下載 1次下載
- 高質量的C和C++的編程指南PDF電子書免費下載 10次下載
- visual C++編程詞典應用程序免費下載 27次下載
- 如何進行高質量的C、C++編程?高質量C++、C編程指南詳細資料免費下載 30次下載
- 《Visual C++游戲編程基礎》電子書.pdf 0次下載
- 高質量 C++/C 編程指南 14次下載
- 高質量C++編程指南
- Visual C++ 6.0 高級編程 -下載 0次下載
- vb語言和c++語言的區別 2431次閱讀
- C++簡史:C++是如何開始的 637次閱讀
- C與C++混合編程是什么 1744次閱讀
- C++可移植性及多線程 1026次閱讀
- C++項目常見的命名規范 2116次閱讀
- C++語言的發展 617次閱讀
- 能用C++開發單片機嗎 7371次閱讀
- Google編程風格指南(六) 2742次閱讀
- Google編程風格指南(五) 2478次閱讀
- Google編程風格指南(四) 2897次閱讀
- Google編程風格指南(三) 2558次閱讀
- Google編程風格指南(二) 2604次閱讀
- Google編程風格指南(一) 3144次閱讀
- c++和c語言之間有什么區別 3.1w次閱讀
- 一張圖總結Google C++編程規范 1472次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多