c++ - c++中的`std::list`和boost库`boost::ptr_list`有什么区别吗?
问题描述
提供的STL标准库和提供的std::list
Boost 库有什么区别boost::ptr_list
吗?
解决方案
如果您查看boost::ptr_list
文档,它会说:
A
ptr_list<T>
是一个指针容器,它使用底层std:list<void*>
存储指针。还应该注意的是,
boost:ptr_list
likestd::list
拥有它所包含的对象。所以ptr_list
会在某个时候在指针上调用 delete 。
也就是说,界面非常相似:
ptr_list
API 具有push_front(T*)
,push_front(appropriate-smart-pointer-type<U> p)
并且还继承自ptr-sequence-adapter
以提供更多功能。提供了
std::list<>
一个稍微更现代的界面,包括移动语义,但在其他方面是相同的 - 请参阅cppreference 文档
推荐阅读
- python - 单击新的单选按钮 PySimpleGUI 时如何清除 Matplotlib 子图画布图形?
- javascript - 使用 for 循环替换子字符串
- sql - 使用 sql 在两个表中查找不匹配的研究和站点
- ios - 如何向 3.section 添加标题?
- assembly - x86 系统调用访问冲突写入位置
- arrays - Vlookup 在一个单元格中的多个值
- c# - 当我构建游戏时,PlayerPrefs 不会保存或加载任何内容
- node.js - 我可以在哪里存储 db 的密码以保证其为 typeorm 配置 ormconfig.json 的安全?
- excel - 根据 2 个标准跨工作表将更改从一个单元格复制到另一个单元格
- java - 使用 spring data jpa 和 hibernate 进行审计