STL学习----入门(1)[memory]
2015-08-24 18:26
344 查看
#include<memory>:
类
指针类别
unique_ptr C++11 | 带唯一独占对象所有权语义的智能指针(Smart pointer) |
shared_ptr C++11 | 带共享对象所有权语义的智能指针 |
weak_ptr C++11 | 指向由 shared_ptr 管理的对象的弱引用 |
auto_ptr 已弃用 | 带严格的对象所有权语义的智能指针 |
辅助类
owner_less C++11 | 提供了对共享及弱指针按拥有者(Owner-based)排序所用到的排序规则 |
enable_shared_from_this C++11 | 允许一个对象可以创建指向自身的 shared_ptr |
bad_weak_ptr C++11 | 当访问一个指向已释放对象的 weak_ptr 时所抛出的异常 |
default_delete C++11 | unique_ptr 所使用的默认删除器 |
内存分配器
allocator | 默认的内存分配器 |
allocator_traits C++11 | 为内存分配器类型提供特征信息 |
allocator_arg_t C++11 | 这是一个空类,用于选择需要内存分配器的构造函数重载,是一个标签类型(Tag type) |
uses_allocator C++11 | 检测指定类型是否支持带内存分配器构造 |
其它
pointer_safety C++11 | 这是一个枚举类型,列举 C++ 支持的指针安全性模型 |
pointer_traits C++11 | 为类指针(Pointer-like)类型提供特征信息 |
std::hash<std::shared_ptr> C++11 | 提供了对 shared_ptr 的哈希(Hash)支持 |
std::hash<std::unique_ptr> C++11 | 提供了对 unique_ptr 的哈希支持 |
前置声明
hash C++11 | 哈希函数对象 |
常题
allocator_arg C++11 | allocator_arg_t 类型的对象 |
函数
未初始化内存
uninitialized_copy | 拷贝一个范围的对象到一个未初始化内存区域 |
uninitialized_copy_n C++11 | 拷贝指定类目的对象到一个未初始化内存区域 |
uninitialized_fill | 用一个对象的值填充一个范围的未初始化内存区域 |
uninitialized_fill_n | 用一个对象的值填充指定数目元素组成的未初始化内存区域 |
raw_storage_iterator | 这是一个迭代器,标准算法可以通过它将结果存储到未初始化内存区域 |
get_temporary_buffer | 获得未初始化的临时存储空间 |
return_temporary_buffer | 返回(即释放)未初始化的临时存储空间 |
垃圾回收支持
declare_reachable C++11 | 声明一个对象不可以被回收(Recycle) |
undeclare_reachable C++11 | 声明一个对象可以被回收 |
declare_no_pointers C++11 | 声明一个内存区域内不包含可追踪(Traceable)指针 |
undeclare_no_pointers C++11 | 取消 declare_no_pointers 声明 |
pointer_safety C++11 | 这是一个枚举类型,列举 C++ 支持的指针安全性模型 |
get_pointer_safety C++11 | 获得当前指针安全性模型 |
杂项
addressof C++11 | 获得一个对象的实际地址,即使 operator& 操作符已被重载 |
align C++11 | 对齐指定缓存中的一个指针 |
智能指针的非成员操作
make_shared C++11 | 创建一个用来管理新对象的共享指针 |
allocate_shared C++11 | 创建一个用来管理使用内存分配器(Allocator)分配的新对象的共享指针 |
static_pointer_cast C++11 | 提供了共享指针的 static_cast、dynamic_cast 或 const_cast 类型转换语义 |
dynamic_pointer_cast C++11 | |
const_pointer_cast C++11 | |
get_deleter C++11 | 返回指定类型的删除器(Deleter),如果有的话 |
operator== operator!= operator< operator<= operator> operator>= | 将 shared_ptr 对象同另一个 shared_ptr 对象或同 nullptr 比较 |
operator<< | 将被管理的指针的值输出到输出流(Output stream)中 |
std::swap(std::shared_ptr) C++11 | std::swap 函数对 shared_ptr 类型所提供的特例化 |
std::atomic_is_lock_free(std::shared_ptr) C++11 | 特例化原子操作 |
std::atomic_load(std::shared_ptr) C++11 | |
std::atomic_load_explicit(std::shared_ptr) C++11 | |
std::atomic_store(std::shared_ptr) C++11 | |
std::atomic_store_explicit(std::shared_ptr) C++11 | |
std::atomic_exchange(std::shared_ptr) C++11 | |
std::atomic_exchange_explicit(std::shared_ptr) C++11 | |
std::atomic_compare_exchange_weak(std::shared_ptr) C++11 | |
std::atomic_compare_exchange_strong(std::shared_ptr) C++11 | |
std::atomic_compare_exchange_weak_explicit(std::shared_ptr) C++11 | |
std::atomic_compare_exchange_strong_explicit(std::shared_ptr) C++11 | |
operator== operator!= operator< operator<= operator> operator>= | 将 unique_ptr 对象同另一个 unique_ptr 对象或同 nullptr 比较 |
std::swap(std::unique_ptr) C++11 | std::swap 函数对 std::unique_ptr 类型所提供的特例化 |
std::swap(std::weak_ptr) C++11 | std::swap 函数对 std::weak_ptr 类型所提供的特例化 |
内存分配器的非成员操作
operator== operator!= | 比较两个内存分配器实例 |
operator== operator!= | 比较两个多级(Multi-level)内存分配器实例 |
相关文章推荐
- oracle学习笔记一:用户管理(3)用户口令管理
- linux下将中文文件名文件cp到windows目录下后文件名乱码问题的解决
- HDU 4135-Co-prime(容斥求区间内与N互质的个数(队列||位运算))
- Palindrome Number
- linux c/c++ 后台开发基础之:c++日志模块
- The Dole Queue(UVA 133)
- ZOJ 3435 Ideal Puzzle Bobble (莫比乌斯反演基础题)
- 范式的数据库具体解释
- php - mysql数据表的内容管理
- UVALive 5987
- java通过rJava调用R失败的问题总结
- 1090. Highest Price in Supply Chain (25) -计层的BFS改进
- CocoaPods安装和使用及问题:Setting up CocoaPods master repo
- Java 文件分块上传客户端源代码
- 1090. Highest Price in Supply Chain (25) -计层的BFS改进
- hdu 4302 Holedox Eating(优先队列/线段树)
- 最简单的HTML5游戏——贪吃蛇
- Java实现堆
- STL学习----入门(1)[unordered_map]
- AC+DP练习