不同类型的shared_ptr容器?

时间:2015-05-07 09:27:26

标签: c++11 shared-ptr

如何为所有类型的shared_ptrs创建std::map

我需要一张地图(密钥为string)包含不同类型的shared_ptr,例如:

XXXXXX myMap = {
{"B", make_shared<B>()}, 
{"C", make_shared<C>()}
};

班级BC没有任何关系。

如何定义myMap

1 个答案:

答案 0 :(得分:2)

std::shared_ptr支持原始指针的语义。并且所有原始指针都可以转换为void*。因此,要创建包含任何类型map的{​​{1}},您应该使用以下内容:shared_ptr