创建复杂的STL容器是否有效?

时间:2014-06-06 13:49:35

标签: c++ stl

我正在浏览一些创建复杂stl容器的代码,如下所示。

map<string, list<pair<string, set<complexclassX*>>>>

或喜欢

map<string, list<pair<complexclassX*, set<complexclassY*>>>>

这里,map,list set,pair都用于一个对象。这是一个好的做法还是可以更好地设计?

1 个答案:

答案 0 :(得分:2)

具体而言,您发布的包含没有嵌套效率问题 像vector那样移动元素的容器可以。但是对于移动构造函数来说,它们的成本很低,而不是像指针一样低 如果你想使用像vector这样的容器,用unique_ptr包装类型的代码几乎与指针相同,但你不必管理内存。

无论如何,您发布的容器看起来很复杂。将它拆分为每个包含一个容器的类将更具可读性。