#include <iostream>
#include <memory>
#include <string>
#include <vector>
using namespace std; struct my
{
int x;
int y;
}; //智能指针主要用于解决内存泄漏,拥有常规指针一样的使用,重载* ->运算符
void run1()
{
//void *p = malloc(1024 * 1024 * 100);
//智能指针,检测到没有使用就会自动释放
// auto_ptr<int>myp(new int[1024 * 1024 * 400]);
//*myp;//根据指针去内存,重载* auto_ptr<my> my1(new my[]);
cout << my1->x << endl;
} void run()
{
//指针只能用构造函数初始化,用explicit拒绝auto_ptr<string> p = new string[100] 初始化
//智能指针可以创建指向STL的指针,但只能创建一个
auto_ptr<string> p(new string);
//创建多个会出错
//auto_ptr<string> p( new string[10] );
*p = ""; //string *p3 = new string[10]; //智能指针是浅拷贝(通过计数的方式决定所引用的空间是不是可以释放)
auto_ptr<string> p2(p);
cout << *p2 << endl;
//STL可以包含智能指针
vector<auto_ptr<int>> myv;
myv.push_back(auto_ptr<int>(new int[]));
} void main()
{
while ()
{
run();
}
cin.get();
}

最新文章

  1. django 富文本展示 以及 post提交出错
  2. nVivo highlight code中的文本
  3. python 面向对象学习
  4. javascript/jquery键盘事件介绍
  5. 20145120 《Java程序设计》第6周学习总结
  6. Matlab之文件读写
  7. MFC让控件随窗口大小而改变
  8. Java学习笔记九(泛型)
  9. exit()
  10. 在ubuntu中屏蔽“检测到系统程序出现问题”对话框
  11. 003.[python学习] 简单抓取豆瓣网电影信息程序
  12. AtCoder Regular Contest 101
  13. 课程四(Convolutional Neural Networks),第四 周(Special applications: Face recognition &amp; Neural style transfer) —— 1.Practice quentions
  14. Shaping Regions(dfs)
  15. python实现微信自动回复机器人
  16. sklearn:Python语言开发的通用机器学习库
  17. ORA-04068 / ORA-04065 / ORA-06508 详细说明
  18. 升级tensorflow1.0到1.3,报错ImportError: libcudnn.so.6: cannot open shared object file: No such file or directory Failed to load the native TensorFlow runtime.
  19. Hyperscan与Snort的集成方案
  20. (转)Linux ldconfig 与 ldd指令

热门文章

  1. HDU 4325 Contest 3
  2. Chrome插件Axure RP Extension
  3. Aizu - 2305 Beautiful Currency (二分 + DFS遍历)
  4. 叫号系统排队系统挂号系统实现(JAVA队列)
  5. java之IO处理
  6. Oracle 学习笔记 14 -- 集合操作和高级子查询
  7. 数据挖掘算法学习(四)PCA算法
  8. Mysql 数据迁移后 启动出错
  9. 源泉书签,助您管理海量收藏。www.yuanquanshuqian.com 今日更新:支持了导入url为js代码的书签
  10. java语言体系的技术简介之JSP、Servlet、JDBC、JavaBean(Application)