在為類別(例如形狀工廠)定義私人靜態常數字串時,您可能會遇到障礙使用C 編譯器。這是由於 C 標準施加的限制。要克服這項挑戰並建立靜態 const 字串資料成員,請考慮以下解決方案:
利用 C 17中引入的內聯變數提供了方便的方法定義靜態常數變數的有效方法:
C 17先前的版本需要在類別外部定義靜態成員並單獨提供初始化器:
需要注意的是,在類別內部帶有初始化器的語法類別定義僅保留用於整數和枚舉類型。
雖然 #define 對於定義常數似乎很誘人,但它引入了可能並不理想的全域可見性等級。例如,如果在頭檔中定義常數,則程式的所有部分都可以全域存取該常數。這可能會導致定義相同常數的不同實作的命名衝突以及其他潛在問題。
以上是如何在 C 中定義私有靜態常數字串資料成員?的詳細內容。更多資訊請關注PHP中文網其他相關文章!