1

通常是这样的:

#include <boost/assign/std/vector.hpp>
vector<int> v;
v += 1,2,3,4,5;

除了一个:

#include <boost/ptr_container/ptr_vector.hpp>
boost::ptr_vector<int> v;

如果您需要知道原因;我正在使用ptr_vector而不是vector只使用它,所以我不必删除元素,但我需要使用 Boost.Assign 来初始化它,因为我希望它ptr_vectorconst(不能使用push_back()pop_back()代码中的任何其他地方。)

提前感谢您的回答,我可能使用了错误的容器类型?

4

1 回答 1

3

使用 Boost.Assigns ptr_list_of()

#include <boost/assign/ptr_list_of.hpp>

// ...
const boost::ptr_vector<int> pv = boost::assign::ptr_list_of<int>(1)(2)(3);
于 2010-06-23T22:01:49.807 回答