如果真的存在,std::map
扩展初始化列表会是什么样子?
我尝试了一些组合......好吧,我能想到的所有 GCC 4.4 的组合,但都没有找到编译的结果。
最佳答案
它存在并且运行良好:
std::map <int, std::string> x
{
std::make_pair (42, "foo"),
std::make_pair (3, "bar")
};
记住 map 的值类型是pair <const key_type, mapped_type>
,所以你基本上需要一个具有相同或可转换类型的对的列表。
通过 std::pair 统一初始化,代码变得更加简单
std::map <int, std::string> x {
{ 42, "foo" },
{ 3, "bar" }
};
关于c++ - std::map 扩展初始值设定项列表是什么样的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3250123/