我继承了一些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
),则所有客户端代码都会受到影响。