1 auto_ptr

2 unique_ptr

1 auto_ptr

C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。

使用std::auto_ptr,要#include <memory>。

double *p = new double;//为指针分配内存

std::auto_ptr<double> autop(p);

//继承性指针,必须依赖上面的指针p

//创建智能指针管理指针p指向的内存,可以自动释放内存,不用delete就可以自动删除

//搭配原生指针p使用,不用担心多delete或者少delete

//auto_ptr更多用于管理类和对象的内存

 #include <iostream>
#include <memory> void main()
{
for (int i = ; i < ; i++)
{
double *p = new double;//为指针分配内存 std::auto_ptr<double> autop(p);
//继承性指针,必须依赖上面的指针p
//创建智能指针管理指针p指向的内存,可以自动释放内存,不用delete就可以自动删除
//搭配原生指针p使用,不用担心多delete或者少delete
//auto_ptr更多用于管理类和对象的内存
} system("pause");
}

2 unique_ptr

unique_ptr是一种定义在<memory>中的智能指针(smart pointer)。它持有对对象的独有权——两个unique_ptr不能指向一个对象,不能进行复制操作只能进行移动操作。unique_ptr在超出作用域,即以下情况时它指向的对象会被摧毁:

unique_ptr指向的对象被破坏

对象通过operator=()或reset()被指定到另一个指针)

unique_ptr还可能没有对象,这种情况被称为empty。

//C++11新指针

//std::unique_ptr<指针指向的变量数据类型>指针变量名(new 指针指向的变量数据类型);

std::unique_ptr<double>pdb(new double);

 #include <iostream>
#include <memory> void main()
{
for (int i = ; i < ; i++)
{
//C++11新指针
//std::unique_ptr<指针指向的变量数据类型>指针变量名(new 指针指向的变量数据类型);
std::unique_ptr<double>pdb(new double);
} system("pause");
}

#include <memory>的更多相关文章

  1. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  2. Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include

    问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...

  3. error RC1015: cannot open include file 'afxres.h' 解决办法

    在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...

  4. Mybatis常用总结:参数,返回,执行sql,include等

    1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...

  5. jsp中的@include与jsp:include区别详解

    1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...

  6. JSP中编译指令include与动作指令include的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...

  7. C/C++ 中的include

    当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...

  8. 织梦多语言站点,{dede:include filename=''/}引入问题

    织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...

  9. PHP 站点相对包含,路径的问题解决方法(include,require)

    以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...

  10. 如何让include标签包裹的布局置于屏幕最下方?

    如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性  a ...

随机推荐

  1. Linux06--Shell程序设计02 数据流重定向与管道

    包含3种数据流: •标准输入(stdin):代码为0,符号为<或<<; •标准输出(stdout):代码为1,符号为>或>>; •标准错误输出(stderr):代码 ...

  2. Linux: service network/Network/NetworkManager

    Linux:service network/Network/NetworkManager start 这三种有什么不同? 1.network service的制御网络接口配置信息改动后,网络服务必须从 ...

  3. 如何使用for循环连续的实例化多个对象!

    Test类import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Test ...

  4. android应用开发全程实录-你有多熟悉listview

    http://blog.csdn.net/notice520/article/details/7040962 今天给大家带来<android应用开发全程实录>中关于listview和ada ...

  5. 你想建设一个能承受500万PV/每天的网站吗?如果计算呢?(转)

    作者:赵磊 博客:http://elf8848.iteye.com 你想建设一个能承受500万PV/每天的网站吗? 500万PV是什么概念?服务器每秒要处理多少个请求才能应对?如果计算呢? PV是什么 ...

  6. Annotation 与 HttpClient(5)--Annotation HttpClient

    Annotation HttpClient 本内容不保证正确性,如有问题请及时提出 经过前面四篇博客的铺垫,现在给出带有标记的HttpClient的实现. 1.     带标记的HttpClient的 ...

  7. perl /m修饰符使用说明

    高级用法: 多行匹配: grok正则和普通正则一样, 默认是不支持匹配回车换行的. perl的/m选项 The /m modifier allows ^ and $ to match immediat ...

  8. centos6.5 Eclipse C/C++开发环境及项目创建测试

    1,新建C++ project

  9. c++ - How to use wstring and wcout to output Chinese words in Xcode? - Stack Overflow

    c++ - How to use wstring and wcout to output Chinese words in Xcode? - Stack Overflow How to use wst ...

  10. LDT自己定义启动模拟器

    近期使用LUA开发手游,团队里大神自研了个框架,底层C++渲染,上层LUA处理逻辑. LUA的IDE选择LDT,不爽的是它不能自己主动启动模拟器,看过COCOSIDE能自启动,于是我想改造下LDT让它 ...