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>()); 这似乎工作。但是