boost-ptr-container

    0熱度

    1回答

    #include <memory> #include <unordered_map> #include <vector> #include <utility> #include <boost/ptr_container/ptr_deque.hpp> struct T { T() = default; T(T const &) = delete; T &

    0熱度

    1回答

    我試圖在當前項目中使用boost::ptr_vector,並想知道是否可以在push_back()方法中使用參數化構造函數,或者如果我需要使用默認構造函數? 作爲第二個問題,如果我定義它,它仍然會使用默認構造函數嗎? 這可能不是最好的跟進,但大部分我所用boost::ptr_vector看到的實現表明push_back()方法將new操作。是否可以創建一個對象,然後將該對象的指針指向容器的push

    1熱度

    1回答

    在尋找一種有效的方法插入到地圖只有在鍵不存在,我碰到this approach: MapType::iterator lb = mymap.lower_bound(k); if(lb != mymap.end() && !(mymap.key_comp()(k, lb->first))) { // key exists. Value accessible from lb->secon

    2熱度

    1回答

    中的前向聲明類我設置了一個模擬類,它將所有模擬對象保存在ptr_list中。因爲我需要快速訪問所有的粒子,我添加了一個額外的ptr_list。現在鼓勵抱怨,因爲它不喜歡前進聲明的類。已經向我指出recursive_wrapper,但ptr_list< recursive_wrapper<Particle> >似乎也不能工作。 #include <boost/ptr_container/ptr_li

    1熱度

    1回答

    插入和/或擦除元素可能會使迭代器無效到現有元素。 謝謝。

    2熱度

    1回答

    對於我當前的項目,我使用boost::ptr_vector以多態方式保存Objects,並且它一直工作正常,直到我的一個構建VS2010拋出它無法克隆object,所以我去了,然後查找克隆,並按照boost的要求執行new_clone()方法,並按照c++ FAQ的方法制作pure virtual,但現在VS2010正在向我推薦shanagin,表示它不能在抽象類上使用克隆。 1>c:\progr

    4熱度

    1回答

    我已經將boost庫從之前的1.54(svn源碼)更新爲1.57(git源碼)。儘管我使用了相同的./b2參數,但目標目錄不包含ptr_container庫。 Directory與克隆庫正確包含此路徑上ptr_container庫: boost_git/libs/ptr_container 我用下面的命令建立它: ./b2 --install --prefix=$SHL_PATH/boost

    1熱度

    3回答

    我想用ptr_vector來存儲一些指針,但是一旦我的主要方法出現錯誤。 這裏是我的代碼: int main(void) { boost::ptr_vector<string> temp; string s1 = "hi"; string s2 = "hello"; temp.push_back(&s1); temp.push_back(&s2)

    1熱度

    1回答

    在我工作的公司,我們創建了一個名爲'RestrictedMap'的類。這提供了相同的接口,一個普通的std ::地圖,但不會允許你使用[]操作符。已經提供了一些其他功能以便舒適地與課堂一起工作。類內部包裝一個std :: map。 我現在正在嘗試創建一個類似的類,它對boost :: ptr_map執行相同的操作,名爲'RestrictedPointerMap'。爲此,我創建了Restricted

    5熱度

    1回答

    我有一個boost::ptr_map,它將抽象基類(例如VectorWrapperBase)存儲爲值,這允許我將字符串映射到不同類型的向量。 boost::ptr_map<std::string, VectorWrapperBase> memory_map; //... memory_map.insert(str_key, new VectorWrapper<T>()); 這似乎工作。但是