如何为所有类型的shared_ptrs创建std::map
?
我需要一张地图(密钥为string
)包含不同类型的shared_ptr
,例如:
XXXXXX myMap = {
{"B", make_shared<B>()},
{"C", make_shared<C>()}
};
班级B
和C
没有任何关系。
如何定义myMap
?
答案 0 :(得分:2)
std::shared_ptr
支持原始指针的语义。并且所有原始指针都可以转换为void*
。因此,要创建包含任何类型map
的{{1}},您应该使用以下内容:shared_ptr