欲某些元件从一个移动到B:移动对象到另一个
boost::ptr_vector<Foo> a, b;
// ...
b.push_back(a.release(a.begin() + i)));
上面的代码不编译,因为释放函数返回boost::ptr_container_detail::static_move_ptr<...>
,这不适合于推回。
我该如何继续?
编辑:我发现返回的对象有
.get()
.release()
提供了一个原始指针(这也可能导致一些异常安全问题)。但我宁愿不依赖无证内部功能,所以随时可以分享任何更好的解决方案...
谢谢,这解决了这个问题。 :) – Tronic 2010-03-02 07:38:29