我继承了一些C ++代码,并试图对其进行扩展,并且需要将一些对象插入以下数据结构中才能调用方法,因为ObjectList是传递给该方法的参数列表的一部分。

typedef std::vector <std::pair <std::string, ObjectPtr> >       ObjectListBase;
typedef boost::shared_ptr <ObjectListBase>              ObjectList;


将对象添加到此地图矢量的合适语法是什么?

最佳答案

objectList->push_back(std::make_pair(myStringKey, anObjectPtr))

此界面闻到反模式primitive obsession。如果更改对象的存储方式(例如,决定使用类而不是std::pair),则所有客户端代码都会受到影响。

09-07 03:38