std::map 扩展初始值设定项列表会是什么样子?
如果它存在,std::map
扩展初始值设定项列表会是什么样子?
我已经尝试了一些组合......嗯,我能想到的所有 GCC 4.4 的组合,但没有发现任何可以编译的结果。
If it even exists, what would a std::map
extended initializer list look like?
I've tried some combinations of... well, everything I could think of with GCC 4.4, but found nothing that compiled.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
它存在并且运行良好:
请记住,映射的值类型是pair,因此您基本上需要具有相同或可转换类型的对的列表。
通过std::pair统一初始化,代码变得更加简单
It exists and works well:
Remember that value type of a map is
pair <const key_type, mapped_type>
, so you basically need a list of pairs with of the same or convertible types.With unified initialization with std::pair, the code becomes even simpler
我想在doublep的答案中添加列表初始化也适用于嵌套映射。例如,如果您有一个带有
std::map
值的std::map
,那么您可以通过以下方式初始化它(只需确保您不会淹没在花括号中):输出:
Coliru 上的代码
I'd like to add to doublep's answer that list initialization also works for nested maps. For example, if you have a
std::map
withstd::map
values, then you can initialize it in the following way (just make sure you don't drown in curly braces):Output:
Code on Coliru