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. Python实现快排

    Python实现快排 def quicksort(arr): if len(arr) <= 1: return arr pivot = arr[len(arr) // 2] left = [x ...

  2. Python学习笔记(3)--数据结构之列表list

    Python的数据结构有三种:列表.元组和字典 列表(list) 定义:list是处理一组有序项目的数据结构,是可变的数据结构. 初始化:[], [1, 3, 7], ['a', 'c'], [1, ...

  3. HTML学习----------DAY1 第二节

    使用 Notepad 或 TextEdit 来编写 HTML 可以使用专业的 HTML 编辑器来编辑 HTML: Adobe Dreamweaver Microsoft Expression Web ...

  4. 关于App程序猿泡沫

    前言 做开发快七年了,对于程序猿,外行人总有着数不完的讽刺和误解,可是我都懒得去解释.代码搬运工人也好,民工也罢,随他们去说吧.可是网上近期流传的程序猿泡沫,尤其是APP程序猿泡沫的文章导致非常多我们 ...

  5. 离线安装 Chrome

    离线安装 Chrome 在这个帮助网页中最下面切换到中文 https://support.google.com/chrome/answer/95346 在网页的中上部点击 "离线安装 Chr ...

  6. failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

    failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found 一.总结 一句话总结:这里出现的问题是我在博客园删除了一篇文章,时 ...

  7. js插件---瀑布流Masonry

    js插件---瀑布流Masonry 一.总结 一句话总结:还是要去看官网,比amazeui上面介绍的详细很多 1.瀑布流的原理是什么? 给外层套好相对定位,里面的每一个弄好绝对定位,然后计算出每一个的 ...

  8. BZOJ 1112 线段树

    思路: 权值线段树 (找中位数用的) 记录下出现的次数和sum 一定要注意 有可能中位数的值有许多数 这怎么办呢 (离散化以后不去重就行了嘛--.) (为什么他们想得那么麻烦) //By Sirius ...

  9. JavaScript Debug调试技巧

    收藏于:https://blog.fundebug.com/2017/12/04/javascript-debugging-for-beginners/

  10. web.config添加identity impersonate="true"导致拒绝访问

    例:<identity impersonate="tr" userName="AD\name" password="word"/> ...