Google C++ Style Guide 閱讀筆記 1

來源:互聯網
上載者:User

標籤:c++

Background

C++是Google開源項目的主要使用語言,雖然Google Code 黃了。C++是很強大的語言,以致於增加了其複雜性。為了讓代碼被其他程式員看懂,減少出bug的可能,所以有了這個GoogleC++風格指導。

Header Files
  • 每個.cc檔案都應該與一個.h檔案關聯,除非是單元測試或者只包含一個main();
The #define Guard
  • 每個標頭檔都應該避免被重複包含。宏定義可以用PROJECT_PATH_FILE_H_ 的格式。
    例如:
    #ifndef FOO_BAR_BAZ_H_
    #define FOO_BAR_BAZ_H_

    #endif // FOO_BAR_BAZ_H_
  • 在前置聲明能夠滿足的情況下,不要使用#include. 標頭檔的改變將引起包含它的檔案重新編譯,因此推薦最小包含原則,尤其是包含其他標頭檔的標頭檔。
    比如,需要使用File Class 但不需要使用該類的定義聲明時,你可以在標頭檔裡使用前置聲明 class File 替代 #include “file/base/file.h”
    在標頭檔不擷取Foo定義的時候,如何使用Foo Class呢?
    • 使用Foo * 或者 Foo & 聲明資料成員。
    • 可以在函式宣告裡作為定義和傳回值。
    • 使用待用資料成員,靜態成員是在類外部定義的。
      但如果你的類是Foo的子類或者有Foo類型的資料成員,那就包含標頭檔。不要過度追求減少標頭檔包含,引起代碼複雜度提高和效能消耗。

Google C++ Style Guide 閱讀筆記 1

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.