Skip to content

Commit

Permalink
Merge pull request #1 from gw19/patch-1
Browse files Browse the repository at this point in the history
Update headers.rst
  • Loading branch information
welkineins authored Dec 25, 2017
2 parents dfe0efd + d44dfb9 commit 8d234bb
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion google-cpp-styleguide/headers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@

* 前置宣告可能隱藏掉與標頭檔間的相依關係,導致當標頭檔改變時,相依的程式碼沒有被重新編譯。
* 前置宣告可能在函式庫進行可向下相容的 API 改動時發生編譯錯誤。例如函式庫開發者放寬了某個參數類型、替樣板增加預設參數或更改命名空間等等。
* 前置宣告來自 ``std::`` 命名空間的 symbols 會導致餵定義行為 (undefined behavior)。
* 前置宣告來自 ``std::`` 命名空間的 symbols 會導致未定義行為 (undefined behavior)。
* 難以抉擇是要使用前置宣告或是引入完整得標頭檔。在某些狀況下,使用前置宣告替換掉 ``#include`` 可能意外的修改了程式碼的意圖。若 ``#include`` 被替換成 B 和 D 的前置宣告 ``test()`` 會呼叫到 ``f(void*)``。
* 使用前置宣告多個 symbols 可能暴露了比直接引入標頭檔更多的訊息。
* 為了使用前置宣告而修改程式碼(例如:使用指標成員而不是物件成員) 可能會導致程式運作較為緩慢或是更加的複雜。
Expand Down

0 comments on commit 8d234bb

Please sign in to comment.