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中文網其他相關文章!