【问题标题】:Is there a way to Boost.Assign a ptr_vector?有没有办法 Boost.Assign 一个 ptr_vector?
【发布时间】:2010-06-23 21:35:56
【问题描述】:

通常是这样的:

#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() 代码中的任何其他位置。)

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

【问题讨论】:

    标签: c++ boost initialization ptr-vector


    【解决方案1】:

    使用 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);
    

    【讨论】:

      猜你喜欢
      • 2015-01-29
      • 1970-01-01
      • 2016-04-26
      • 2015-03-11
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      • 2021-10-27
      • 2016-02-03
      相关资源
      最近更新 更多