Memory elements

This header defines general utilities to manage dynamic memory:

Allocators

allocator
Default allocator (class template )
allocator_arg 
Allocator arg (object )
allocator_arg_t 
Allocator arg type (class )
allocator_traits 
Allocator traits (class template )

Managed pointers

auto_ptr
Automatic Pointer [deprecated] (class template )
auto_ptr_ref
Reference to automatic pointer (class template )
shared_ptr 
Shared pointer (class template )
weak_ptr 
Weak shared pointer (class template )
unique_ptr 
Unique pointer (class template )
default_delete 
Default deleter (class template )

Functions and classes related to shared_ptr:

make_shared 
Make shared_ptr (function template )
allocate_shared 
Allocate shared_ptr (function template )
static_pointer_cast 
Static cast of shared_ptr (function template )
dynamic_pointer_cast 
Dynamic cast of shared_ptr (function template )
const_pointer_cast 
Const cast of shared_ptr (function template )
get_deleter 
Get deleter from shared_ptr (function template )
owner_less 
Owner-based less-than operation (class template )
enable_shared_from_this 
Enable shared_from_this (class template )

Uninitialized memory

Raw storage iterator:

raw_storage_iterator
Raw storage iterator (class template )

Temporary buffers:

get_temporary_buffer
Get block of temporary memory (function template )
return_temporary_buffer
Return block of temporary memory (function template )

Specialized algorithms:

uninitialized_copy
Copy block of memory (function template )
uninitialized_copy_n 
Copy block of memory (function template )
uninitialized_fill
Fill block of memory (function template )
uninitialized_fill_n
Fill block of memory (function template )

Memory model

pointer_traits 
Pointer traits (class template )
pointer_safety 
Pointer safety enum (enum class )
declare_reachable 
Declare pointer as reachable (function )
undeclare_reachable 
Undeclare pointer as reachable (function template )
declare_no_pointers 
Declare memory block as containing no pointers (function )
undeclare_no_pointers 
Undeclare memory block as containing no pointers (function )
get_pointer_safety 
Get pointer safety (function )
align 
Align in range (function )
addressof 
Address of object or function (function template )

http://www.cplusplus.com/reference/memory/

<memory>(包括了auto_ptr,shared_ptr等各种指针)的更多相关文章

  1. auto_ptr,shared_ptr 智能指针的使用

    Q: 那个auto_ptr是什么东东啊?为什么没有auto_array?A: 哦,auto_ptr是一个很简单的资源封装类,是在<memory>头文件中定义的.它使用“资源分配即初始化”技 ...

  2. C++智能指针: auto_ptr, shared_ptr, unique_ptr, weak_ptr

    本文参考C++智能指针简单剖析 内存泄露 我们知道一个对象(变量)的生命周期结束的时候, 会自动释放掉其占用的内存(例如局部变量在包含它的第一个括号结束的时候自动释放掉内存) int main () ...

  3. C++11 shared_ptr(智能指针)详解

    要确保用 new 动态分配的内存空间在程序的各条执行路径都能被释放是一件麻烦的事情.C++ 11 模板库的 <memory> 头文件中定义的智能指针,即 shared _ptr 模板,就是 ...

  4. std::shared_ptr 和普通指针的转换

    相互转化见示例 struct test { int num; string name; }; test* pTest = new test(); std::shared_ptr<test> ...

  5. 智能指针auto_ptr & shared_ptr

    转载:智能指针auto_ptr 很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它.这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生 ...

  6. C++ Primer : 第十二章 : 动态内存之shared_ptr类

    在C++中,动态内存是的管理是通过一对运算符来完成的:new  ,在动态内存中为对象分配空间并返回一个指向该对象的指针,delete接受一个动态对象的指针,销毁该对象,并释放该对象关联的内存. 动态内 ...

  7. c++智能指针(unique_ptr 、shared_ptr、weak_ptr、auto_ptr)

    一.前序 什么是智能指针? ——是一个类,用来存储指针(指向动态分配对象也就是堆中对象的的指针). c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delete语句直接也写 ...

  8. auto_ptr, unique_ptr, shared_ptr and weak_ptr智能指针讲解

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  9. C++ 智能指针 auto_ptr 和 shared_ptr

    首先,如果你不知道什么是智能指针,请先移步:C++智能指针简单剖析 1.auto_ptr #ifndef AUTO_PTR_H #define AUTO_PTR_H template<typen ...

随机推荐

  1. 一个最不可思议的MySQL死锁分析

    1    死锁问题背景    1 1.1    一个不可思议的死锁    1 1.1.1    初步分析    3 1.2    如何阅读死锁日志    3 2    死锁原因深入剖析    4 2. ...

  2. [Python] Use a Python Generator to Crawl the Star Wars API

    In this lesson, you will be introduced to Python generators. You will see how a generator can replac ...

  3. Linux软防火墙ACL匹配的优化点

    首先.请求不要再诬陷Netfilter.尽管它有一些固有性能损耗,但敬请不要将iptables和Netfilter等同,假设你要抓元凶,请直接说iptables,而不要说成Netfilter!     ...

  4. base64格式的图片数据如何转成图片

    base64格式的图片数据如何转成图片 一.总结 一句话总结:不仅要去掉前面的格式串,还需要base64_decode()解码才行. // $base_img是获取到前端传递的值 $base_img ...

  5. 13. Intellij IDEA调试功能使用总结

    转自:https://www.cnblogs.com/Bowu/p/4026117.html 这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序 ...

  6. Web API总结

    1.Web API 控制器(Controller) 继承ApiController 2. Api 的 Url Map: api/{controller}/{id} 每个"Action&quo ...

  7. win7系统 连接打印机 提示 “正在检查 windows update 需要一段时间”

    现象:  在客户端 添加 打印机时,出现  “网络安装打印机 一直在检查 windows update”  提示 处理:等待上述提示结束后,会出现手动添加 提示窗口,在框内选择打印机驱动 .

  8. 【转】一篇关于32位Linux内核使用大内存的文章——Hugemem Kernel Explained  &nb

    红旗DC系列Linux操作系统(x86平台)中带有四类核心: UP (支持单内核) SMP (支持多内核) hugemem Icc* (用intel C编译器编译的核心) 其中hugemem核心往往引 ...

  9. centos下安装redis/mysql等基础环境

    1.修改语言 阿里云的ECS默认语言是:en_US.UTF-8,需要改成zh_CN.UTF-8 修改方法:vim /etc/locale.conf,然后重启. 查看方法:echo $LANG 2.安装 ...

  10. 【shell学习】经常使用条件推断-字符,数字,文件

    IF 推断 之前也写过简单的shell脚本,也不是转职运维.和系统相关的工作比較少.所以不怎么熟练. 近期因为系统总是出现各种乱七八糟的问题,也没有人来协助.仅仅好自己写shell脚本了,都是些基础的 ...