【发布时间】:2019-03-27 15:04:31
【问题描述】:
假设我有以下课程:
struct Foo
{
Foo(int bar) : bar(bar) {}
int bar;
}
我如何指示std::unordered_map<int, Foo> map 在需要时构造Foo(100),例如:
- 地图初始化
- 地图运算符 []
为了使以下 sn-p 工作:
std::unordered_map<int, Foo> map;
assertTrue(map[11223344].bar == 100);
这可能吗?
【问题讨论】:
-
std::unordered_map<int, Foo> map;应该可以工作;你有问题吗?operator[]不行;避免它。 -
为 Foo 添加默认构造函数
标签: c++11 unordered-map