Pragma once意思

pragma once 是一個預處理器指令,用於防止頭檔案被重複包含。當一個源檔案包含一個使用了 pragma once 的頭檔案時,編譯器會檢查這個頭檔案是否已經被包含過,如果已經被包含,就不會再次包含它的內容。

這個指令不是標準C或C++的一部分,而是一種編譯器擴展,被許多編譯器所支持,包括微軟的Visual C++和GCC。但是,由於它不是標準的一部分,因此並不是所有的編譯器都支持它,使用時需要確認目標編譯器是否支持。

使用 pragma once 可以簡化頭檔案的保護方式,相比於使用條件編譯和包含 guards(如 #ifndef / #define / #endif),pragma once 更加簡潔,而且避免了由於包含 guards 命名不慎導致的錯誤包含。