本文介绍了Boost.Assign:使用对象与map_list_of?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用C ++与提升。在Boost.Assign我可以使用new运算符map_list_of?

Using C++ with boost. In Boost.Assign can I use the new operator with map_list_of?

例如:

std::map<int, MyObject*> objects = boost::assign::map_list_of
       (1, new MyObject())(2, new MyObject())(3, new MyObject())

如果没有,是否有另一种方式来做到这一点?

If not, is there another way to do it?

推荐答案

似乎是肯定的。编译没有用VS2010&安培;提高1.47。

Seems yes. This compiles fine with VS2010 & boost 1.47.

#include <boost\assign.hpp>
class MyObject{
public:
    MyObject(int i):m_i(i){}
private:
    int m_i;
};


int main (void)
{
    std::map<int, MyObject*> objects = boost::assign::map_list_of(1, new MyObject(1))(2, new MyObject(2))(3, new MyObject(3));
}

这篇关于Boost.Assign:使用对象与map_list_of?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-14 08:05