2010-06-23 134 views
1

通常是這樣的:有沒有辦法讓Boost.Assign一個ptr_vector?

#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_vector設置爲const(不能在代碼中的任何其他位置使用push_back()pop_back()。 )

在此先感謝您的答案,有可能我使用了錯誤的容器類型?

回答

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); 
相關問題