我有以下结构:
{{1}}
m_parts可以有不同的int值(const)及其计数。 例如。型号401将具有:6661,6662,6669,6674; 型号402:6669,6670; 等
获得这些东西的最佳方法是什么?
答案 0 :(得分:1)
让 raw 拥有存储在STL容器中的指针通常是一个坏主意,并且是bug的来源:
const multimap<int, SModelData*> models_data =
我更喜欢使用 smart 拥有指针(例如shared_ptr<SModelData>
用于共享所有权语义,或unique_ptr<SModelData>
用于唯一所有权语义),或者只使用SModelData
值
此外,您确定要使用multimap
吗?
也许带有值的map
会很好吗?
e.g:
const map<int, SModelData> models_data
要初始化const map
,您可以使用C ++ 11初始化列表或lambda,例如:
const auto models_data = []() -> map<int, SModelData> {
map<int, SModelData> data;
// ... Fill your map
return data;
}();