- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个虚拟类 basic_action
。类 sippeers
继承类 basic_action
。为了存储 sippeers
类的实例,我使用了 boost::ptr_list
。这是代码示例:
boost::ptr_list<basic_action> ActionsList;
sippeers spclass;
ActionsList.push_back(&spclass);
basic_action *sp = ActionsList.front();
在这里,我创建了一个 prt_list
实例,其中包含指向我的 basic_action
类实例的指针。接下来我创建了我的 sippeers
类的新实例。接下来,我将指向 sippeers
类的指针插入到 ptr_list
中。
最后一个字符串失败。
Cannot convert from 'basic_action' to 'basic_action *'.
但是里面有一个basic_action *
,而不是basic_action
!
最佳答案
boost::ptr_list::front()
返回对模板化类型的引用,而不是指针。
所以在这种情况下,它返回一个 basic_action&
。
参见文档 here对于 ptr_sequence_adapter
,ptr_list
是从中派生的。
所以你的代码应该是:
boost::ptr_list<basic_action> ActionsList;
sippeers spclass;
ActionsList.push_back(&spclass);
basic_action &sp = ActionsList.front();
关于c++ - 为什么在 boost::ptr_list 上调用 front() 时会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5619857/
出于某种原因,我无法让 ptr_list 插入元素。 boost::ptr_list somelist; int *someint = new int(123); int *someint2 = ne
首先,我刚刚从 20 年左右的缺席中回到 C++。我只是想弄清楚一些东西。我想创建一个类层次结构并将基类的子类实例化到一个列表中并迭代该列表并将子类返回到迭代器中或找到一种方法来完成此操作。 name
对于一个小型科学项目,我设置了一个模拟类,它将所有模拟对象保存在 ptr_list 中。因为我需要快速访问所有粒子,所以我添加了一个额外的 ptr_list。现在 boost 提示了,因为它不喜欢前向
我在 C++ 中动态加载库,如所述 here . 我的抽象基类如下所示: #include class Base { public: virtual void get_list(boost:
我是 C++ 的新手,很快就开始使用 boost 库,因为它提供了我需要的很多功能。特别是 BOOST_FOREACH对我非常有用,所以我可以轻松地迭代 boost ptr_list .最终我需要使用
boost ptr_list documentation声明容器使用底层 std::list . 为什么他们使用这种类型而不是更专业的 std::list ? 最佳答案 可能是为了减少模板实例化的数量
我有一个虚拟类 basic_action。类 sippeers 继承类 basic_action。为了存储 sippeers 类的实例,我使用了 boost::ptr_list。这是代码示例: boo
STL标准库提供的std::list和Boost库提供的boost::ptr_list有什么区别吗? 最佳答案 如果您查看 boost::ptr_list documentation ,它说: A p
我是一名优秀的程序员,十分优秀!