首頁 >後端開發 >C++ >如何在 C 中初始化靜態 `std::map` ?

如何在 C 中初始化靜態 `std::map` ?

DDD
DDD原創
2024-12-09 13:04:10184瀏覽

How to Initialize a Static `std::map` in C  ?

在C 中初始化靜態映射

在C 中,初始化靜態std::map提出了獨特的挑戰。沒有像使用初始化列表或靜態函數這樣簡單的方法。但是,有多種方法可以提供替代解決方案。

使用 C 11 初始化器清單

C 11 引入了可用於初始化映射的初始化器清單語法。大括號內的元素包含在成對的大括號內,每對代表一個鍵值對。初始化的順序無關緊要,因為映射會根據元素的鍵自動對元素進行排序。

#include <map>

using namespace std;

static map<int, int> m = {{1, 2}, {3, 4}, {5, 6}};

使用 Boost.Assign

Boost.Assign 是一個函式庫,提供方便的巨集來初始化地圖和其他資料結構。它提供了一種用於在映射中指定鍵值對的簡潔語法。

#include <boost/assign.hpp>

using namespace std;
using namespace boost::assign;

static map<int, int> m = map_list_of(1, 2)(3, 4)(5, 6);

以上是如何在 C 中初始化靜態 `std::map` ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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