我有一个结构如下:
struct T_MY_TOY {
uint32_t id;
float data;
};
我想定义一个自定义地图。我的第一个实现是:
typedef std::map<uint32_t, T_MY_TOY*> T_MY_TOY_MAP;
T_MY_TOY*
使用智能指针或引用包装器代替智能指针是否正确?
typedef std::map<uint32_t, std::shared_ptr<T_MY_TOY> > T_MY_TOY_MAP;
或者:
typedef std::map<uint32_t, std::reference_wrapper<T_MY_TOY> > T_MY_TOY_MAP;
哪个是最好的解决方案?