首頁 >後端開發 >C++ >如何在 C 類中正確初始化常數靜態字串變數?

如何在 C 類中正確初始化常數靜態字串變數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-05 02:42:13928瀏覽

How to Properly Initialize Constant Static String Variables in C   Classes?

C 類別中靜態變數的初始化

在 C 中,靜態類別變數只能在類別定義之外初始化。但是,在處理應在類別中保持不變的字串變數時,這可能會帶來挑戰。為了解決這個問題,我們可以在來源檔案中的類別外部初始化這些變數:

// Inside the class header file (.h)
class Thing {
    static const string RE_ANY;
    static const string RE_ANY_RELUCTANT;
};

// In the source file (.cpp)
const string Thing::RE_ANY = "([^\n]*)";
const string Thing::RE_ANY_RELUCTANT = "([^\n]*?)";

一個重要的注意事項是,如果變數是常數並且不應該被類別方法修改,那麼建議使用const關鍵字而不是使其靜態。靜態變數在類別的所有實例之間共享,而 const 變數仍然可以透過非 const 方法訪問,但不能修改。

以上是如何在 C 類中正確初始化常數靜態字串變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn