」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 C++ 中定義靜態 const std::string 成員?

如何在 C++ 中定義靜態 const std::string 成員?

發佈於2024-12-21
瀏覽:709

How to Define Static const std::string Members in C  ?

定義const std::string 類型的靜態資料成員

在C 中,定義std::string 類型的私有靜態const 成員在類別內使用類別內初始化,如下所示,不符合C標準:

class A {
   private:
      static const string RECTANGLE = "rectangle";
}

但是,C 提供了替代方法來實作此功能。

C 17 內聯變數

自 C 17 起,您可以使用內聯變數這個目的。內聯變數是 C 17 的功能,允許使用 inline 關鍵字直接在類別定義中聲明靜態變數。例如:

// In a header file (if necessary)
class A {
private:
  inline static const string RECTANGLE = "rectangle";
};

Pre-C 17 Approach

在 C 17 之前,您必須在類別定義之外定義靜態成員並在其中提供初始值設定項目。這是一個例子:

// In a header file (if necessary)
class A {
private:
  static const string RECTANGLE;
};
// In one of the implementation files
const string A::RECTANGLE = "rectangle";

注意: 您嘗試的初始化語法(在類別定義內)僅支援整數和枚舉類型。

最新教學 更多>
  • 如何使用 Eloquent 或查詢產生器將多行插入資料庫?
    如何使用 Eloquent 或查詢產生器將多行插入資料庫?
    使用Eloquent 或Fluent 同時插入多行此查詢探討如何使用Eloquent 中的單一查詢將多行插入資料庫(或流暢的)框架。給定的範例使用 UserSubject::where('user_id', Auth::id())->select('subject_id...
    程式設計 發佈於2024-12-21
  • 如何在 Retrofit 中使用自訂 Gson 轉換器高效提取巢狀 JSON 資料?
    如何在 Retrofit 中使用自訂 Gson 轉換器高效提取巢狀 JSON 資料?
    在Retrofit 中使用自訂Gson 轉換器提取嵌套JSON許多API 提供具有通用JSON 結構的回應,其中根物件包含嵌套物件包含所需資料的「內容」欄位。然而,大多數 POJO 只對「內容」欄位中的資料進行建模,使得改造類型適配器無法提取並傳回適當的物件。 為了解決這個問題,可以開發一個自訂的 ...
    程式設計 發佈於2024-12-21
  • 如何使用 PHP 將字串中的普通 URL 轉換為可點擊的超連結?
    如何使用 PHP 將字串中的普通 URL 轉換為可點擊的超連結?
    使用PHP 連結字串中的URL在PHP 中,連結字串中的URL 可能是一項有用的任務,例如在文字中產生可點選連結等任務內容。一個常見的用例是將包含 URL 的純字串轉換為具有可點擊超連結的 HTML。 語法:$string = preg_replace( "~[[:alpha:]] :...
    程式設計 發佈於2024-12-21
  • 為什麼在 C 語言中從字元中減去“0”會顯示其數值?
    為什麼在 C 語言中從字元中減去“0”會顯示其數值?
    解碼字元值:為什麼減去「0」會洩漏數字表示出現一個令人費解的問題:為什麼減去「0」會洩漏數字表示出現一個令人費解的問題:為什麼從a中減去“0” C 中的字元揭示了它所代表的數值? 為了解開這個謎團,讓我們深入研究ASCII(美國資訊交換標準代碼)領域,它為每個字元分配數字代碼。 '0'...
    程式設計 發佈於2024-12-21
  • 如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    在 PHP 中組合關聯數組在 PHP 中,將兩個關聯數組組合成一個數組是常見任務。考慮以下請求:問題描述:提供的代碼定義了兩個關聯數組,$array1 和 $array2。目標是建立一個新陣列 $array3,它合併兩個陣列中的所有鍵值對。 此外,提供的陣列具有唯一的 ID,而名稱可能重疊。要求是建...
    程式設計 發佈於2024-12-21
  • 如何啟用和停用MySQL查詢稽核一小時?
    如何啟用和停用MySQL查詢稽核一小時?
    在MySQL 中啟用查詢審核如果您希望監控並記錄在MySQL 資料庫上執行的所有查詢一個小時,您可以可以開啟審核日誌記錄。 審核日誌記錄配置啟用審核日誌記錄和轉儲將日誌寫入文件,請在MySQL 控制台中執行以下命令:SET global log_output = 'FILE'; SET global...
    程式設計 發佈於2024-12-21
  • 如何使用 JavaScript 建立可懸停的選擇框選項?
    如何使用 JavaScript 建立可懸停的選擇框選項?
    可懸停選擇框選項當前的問題涉及創建一個選擇框,當將字段懸停在該選擇框上時,選項說明可見,而不是點選開啟options.實作為了實現此功能,我們利用了JavaScript方法:如下:$('#selectUl li:not(":first")').addClass('unselect...
    程式設計 發佈於2024-12-21
  • 解析 JSON 資料時如何解決“TypeError:字串索引必須是整數”?
    解析 JSON 資料時如何解決“TypeError:字串索引必須是整數”?
    避免「TypeError:字串索引必須是整數」當嘗試將JSON 檔案中的資料轉換為可理解的CSV 格式時,您可能會遇到“TypeError:字串索引必須是整數”錯誤。當像字典一樣存取字串的欄位時,會出現此錯誤。讓我們探索解決方案。 理解錯誤要理解該錯誤,需要注意的是,Python 中的字串不能像字典...
    程式設計 發佈於2024-12-21
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-12-21
  • 如何使用 jQuery 停用和啟用輸入欄位?
    如何使用 jQuery 停用和啟用輸入欄位?
    使用jQuery 停用與啟用輸入欄位使用jQuery 停用與啟用輸入欄位使用HTML 表單元件時,通常需要為使用者停用或啟用某些輸入欄位互動。 jQuery 提供了多種方法來完成這些任務。 禁用輸入字段$("input").prop('disabled', true);在jQue...
    程式設計 發佈於2024-12-21
  • 在 Go 中對 App Engine 範本進行單元測試時如何解決路徑問題?
    在 Go 中對 App Engine 範本進行單元測試時如何解決路徑問題?
    如何在Go 的單元測試中解決App Engine 模板的路徑規範使用App Engine 和Go 時,使用內建模板包可能會遇到挑戰在單元測試期間。具體來說,該問題是由於伺服器無法在測試環境中找到模板檔案的路徑而出現的。 問題原因在常規應用程式執行期間​​,目前目錄是 app.yaml 所在的應用程式...
    程式設計 發佈於2024-12-21
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSocke...
    程式設計 發佈於2024-12-21
  • 如何在 PHP 中求和日期間隔?
    如何在 PHP 中求和日期間隔?
    在PHP 中添加日期間隔在PHP 中,我們可能會遇到需要添加兩個或多個日期間隔來計算以小時和分鐘為單位的總持續時間的情況。要實現此總和,我們可以按照以下步驟操作:為每個時間間隔建立 DateTime 物件。 使用 diff() 方法計算每對物件之間的差異。 $a = new DateTime('14...
    程式設計 發佈於2024-12-21
  • 如何使用 jQuery 檢索“data-id”屬性值?
    如何使用 jQuery 檢索“data-id”屬性值?
    使用jQuery 存取data-id 屬性使用jQuery Quicksand 外掛程式時,通常需要檢索被點選元素的「data-id」屬性將資訊傳遞到各種Web 服務。以下介紹如何有效取得該屬性值:'data-id'屬性可以使用jQuery中的.attr()方法來存取。語法如下:$(...
    程式設計 發佈於2024-12-21
  • 如何透過一次查詢高效刪除多個MySQL表中的資料?
    如何透過一次查詢高效刪除多個MySQL表中的資料?
    在MySQL 中使用單一查詢從多個表中刪除資料當處理由公共欄位關聯的多個表時,可能需要刪除有關使用者的信息同時從所有表中。此查詢不是執行多個 DELETE 語句,而是探索在單一查詢中執行刪除的可能性。 建議的查詢涉及使用以分號分隔的多個 DELETE 語句:DELETE FROM table1 WH...
    程式設計 發佈於2024-12-21

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3