有关如何在不复制地图值的情况下插入stdmap的信息,请参阅此答案。
从那个答案继续 - 假设我的Foo
类型看起来像这样:
struct Foo {
const int& intref_;
std::mutex mutex_;
}
然后像这样使用聚合初始化进行初始化
Foo{7}
或者
Foo{7, std::mutex()}
是否有可能以某种方式放置到带有 type 的地图中?:
std::map<size_t, Foo> mymap;
我知道我可以只写一个构造函数Foo
——但它可以用聚合初始化来代替吗?
链接到编译器资源管理器:
相关c++参考:
https://en.cppreference.com/w/cpp/container/map/try_emplace
https://en.cppreference.com/w/cpp/language/aggregate_initialization