C++編程規範之24:總是編寫內部#include保護符,絕不要編寫外部#include保護符
摘要:
為頭文件添加保護:在所有頭文件中使用帶有唯一名稱的包含保護符(#include guard),防止無意的多次包含。
在編寫程序的頭文件的時候,要注意每個頭文件都應該用內部包含保護符來進行保護,以避免在多次包含時重新定義。例如在下麵的例子中對於頭文件foo.h應該用包含保護符進行保護。
#ifndefFOO_H_INCLUDED_ #defineFOO_H_INCLUDED_ //....文件內容..... #endif
這裏不得不說內部包含保護符和外部包含保護符了,內部包含保護符就是上麵代碼中的形式,當多次使用#include “foo.h”,foo.h中的內容也隻會使用一次。而外部包含保護符是另外一種形式,如下麵代碼所示:
#ifndefFOO_H_INCLUDED_ #include"foo.h" #defineFOO_H_INCLUDED_ #endif
由於外部包含保護符經常可能會忘記寫,容易被誤用,因此不推薦使用。要盡量使用內部包含保護符。
在使用包含保護符的時候要遵循以下規則:
1.保護符使用唯一名稱。確保名稱至少在你的應用程序中是唯一的。
2.不要自作聰明。不要在受保護部分的前後防止代碼或者注釋,要謹遵上麵的標準形式。
最後更新:2017-04-03 12:53:49