ptr-vector

    1熱度

    1回答

    通常是這樣的: #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,所以

    1熱度

    2回答

    我有以下代碼(只需鍵入它在這裏,可能有錯別字或東西): typedef boost::ptr_vector<SomeClass> tvec; tvec v; // ... fill v ... tvec vsnap; for(tvec::iterator it = v.begin(); it != v.end(); ++it) { if((*v).anyCondition

    0熱度

    1回答

    我有我自己的對象的ptr_vector列表。事情是這樣的: boost::ptr_vector<SomeClass> *list; list->push_back(new SomeClass()>; ... BOOST_FOREACH(SomeClass *tempObj, list) // [x] { tempObj->... } >‘boost::ptr_vector

    4熱度

    1回答

    我正在使用boost 1.37,並試圖使用boost :: ptr_vector,並轉讓它的所有權,以便我可以從函數返回它。縱觀Boost文檔(http://www.boost.org/doc/libs/1_36_0/libs/ptr_container/doc/tutorial.html#new-functions) std::auto_ptr< boost::ptr_deque<animal>

    2熱度

    1回答

    我試圖使用push_back()將boost :: ptr_vector添加到std :: deque。當我這樣做時,我得到一個BOOST :: ASSERT的typeid不匹配。 在 「boost_ptr_container_clone_allocator」 T* res = new T(r); BOOST_ASSERT(typeid(r) == typeid(*res) &&

    4熱度

    2回答

    欲某些元件從一個移動到B: boost::ptr_vector<Foo> a, b; // ... b.push_back(a.release(a.begin() + i))); 上面的代碼不編譯,因爲釋放函數返回boost::ptr_container_detail::static_move_ptr<...>,這不適合於推回。 我該如何繼續? 編輯:我發現返回的對象有 .get() .r