本文介绍了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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!