37)智能指针(就是自动delete空间)
2024-10-08 19:01:10
1)问题引入:
在java或者在C++中,一旦你new一个东西,那么必然有一个delete与之对应,比如:
int main()
{
int* p= new int(); *p=; delete p; return ;
}
但是 我现在有一个 特别 特别智能的指针 ---名字叫 智能指针 可以 不用我们手动释放 去自己释放,那么怎么创建和使用这个智能指针呢?
其实这个智能指针就类似于 JAVA的 new原理,也是你只要创建了,就可以用,但是回收 你不用管。
2)智能指针的创建和使用
(1)智能指针存在头文件 <mrmary> 中
(2)创建和使用:
#include<iostream>
#include<memory>
using namespace std;
int main()
{
//等同于 int *p= new int();
auto_ptr<int> pt(new int);
//这个pt后面括号里面的是 返回一个地址的东西 new int 返回一个地址 给了pt
//那个尖括号< > 里面的是 这个pt指针的数据类型 你是int 就是<int> 你是char
//就是 <char> 你是类A 就是 <A> //比如 和 A a= new A(10)类似的代码是: // auto_ptr<A> pt(new A(10));
*pt=;
cout<<*pt<<endl; }
最新文章
- 树链剖分+线段树 HDOJ 5029 Relief grain(分配粮食)
- MaxTemperature程序Mapper ClassNotFoundException
- 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )
- 常用UML模型简要小结
- WWDC2015 结束.新一波更新以及bug即将来袭.
- Maven项目中,编译proto文件成Java类
- C语言命名规则
- 基于msys2工具集,自编译gcc-6.2.0、Qt-5.6.1-1和Qt-4.8.7(有nuwen.net网站提供的脚本)
- MySql中的内外联结查询
- 关于js的几道经典题(作用域、原型链等)自己做的
- placeholder的字体样式改变,滚动条的颜色改变,ios日期兼容
- Java中的List转换成JSON报错(二)
- kubernetes实践之一:kubernetes二进制包安装
- 2018ccpc秦皇岛站后记
- Qt控制台例子
- svn服务器搭建及使用(一)
- os &; sys
- nginx no input file specified
- C# winform对话框用法大全
- JVM类加载全过程--图解
热门文章
- UVALive 6763 / CSU 1446
- 支持 UTF-8 中文的串口调试工具
- 实验吧Web-中-让我进去(Hash长度扩展攻击、加盐密码及Linux下hashpump的安装使用)
- 为什么 execute(`echo 中文`) 输出中文源码?
- 关于Vue element-ui中诡异问题的解决思路
- Q7:Reverse Integer
- Springboot过滤器注解简笔
- (转)绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程
- TCP三次握手和四次挥手相关
- 深入理解JVM - 垃圾收集器