2010-06-23 3 views
1

하십시오 제외Boost.Assign a 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; 

당신은 이유를 알고 싶다면, 내가 요소를 삭제할 필요가 없으므로 vector 대신 만을 사용하고 있습니다. 그러나 이 const (코드 내의 다른 곳에서는 push_back() 또는 pop_back())이 될 수 없으므로 Boost.Assign을 사용하여 초기화해야합니다.)

미리 답변 해 주셔서 감사합니다. 잘못된 컨테이너 유형을 사용하고있는 것일 수 있습니다.

답변

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