初始化一个静态 std::map<int, int>在 C++ 中

2022-01-07 00:00:00 c++ stl stdmap

初始化静态地图的正确方法是什么?我们是否需要一个静态函数来初始化它?

What is the right way of initializing a static map? Do we need a static function that will initialize it?

推荐答案

使用 C++11:

#include <map>
using namespace std;

map<int, char> m = {{1, 'a'}, {3, 'b'}, {5, 'c'}, {7, 'd'}};

使用 Boost.Assign:

#include <map>
#include "boost/assign.hpp"
using namespace std;
using namespace boost::assign;

map<int, char> m = map_list_of (1, 'a') (3, 'b') (5, 'c') (7, 'd');

相关文章