有没有办法 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;
如果你需要知道原因;我使用 ptr_vector
而不是 vector
只是这样我不必删除元素,但我需要使用 Boost.Assign 初始化它,因为我想要 ptr_vector
为 const
(不能在代码中的任何其他位置使用 push_back()
或 pop_back()
。)
提前致谢对于您的答案,我可能使用了错误的容器类型?
Usually like this:
#include <boost/assign/std/vector.hpp>
vector<int> v;
v += 1,2,3,4,5;
Except for a:
#include <boost/ptr_container/ptr_vector.hpp>
boost::ptr_vector<int> v;
If you need to know the reason; I'm using ptr_vector
instead of vector
only so I don't have to delete elements, but I need to initialize it using Boost.Assign as I want the ptr_vector
to be const
(can't use push_back()
or pop_back()
anywhere else in code.)
Thanks in advance for you answers, it's possible I'm using the wrong container type?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 Boost.Assigns
ptr_list_of()
:
Use Boost.Assigns
ptr_list_of()
: