智能指针auto_ptr

2023-11-13

智能指针(auto_ptr) 这个名字听起来很酷是不是?其实auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存相比有一定优势,但也有其局限。本文总结的8个问题足以涵盖auto_ptr的大部分内容。

1. auto_ptr是什么?

auto_ptr 是C++标准库提供的类模板,auto_ptr对象通过初始化指向由new创建的动态内存,它是这块内存的拥有者,一块内存不能同时被分给两个拥有者。当auto_ptr对象生命周期结束时,其析构函数会将auto_ptr对象拥有的动态内存自动释放。即使发生异常,通过异常的栈展开过程也能将动态内存释放。auto_ptr不支持new 数组。

2. auto_ptr需要包含的头文件?

#include <memory>

3. 初始化auto_ptr对象的方法?

1) 构造函数

1] 将已存在的指向动态内存的普通指针作为参数来构造

int* p = new int(33);

auto_ptr<int> api(p);

2] 直接构造智能指针

auto_ptr< int > api( new int( 33 ) );

2) 拷贝构造

利用已经存在的智能指针来构造新的智能指针

auto_ptr< string > pstr_auto( new string( "Brontosaurus" ) );

auto_ptr< string > pstr_auto2( pstr_auto ); //利用pstr_auto来构造pstr_auto2

因为一块动态内存智

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

智能指针auto_ptr 的相关文章

  • tkinter美化窗口

    今天 小编给大家带来一个很常见的问题 如何美化tkinter窗口 相信用过IDLE的小伙伴都深有感受 IDLE同样使用Tcl Tk写的 别人写的是这样 我们写的却是这样 大家对比一下 tkinter写英文还算可以 但是一写中文 他的问题就凸
  • 速通AOSP,成功编译调试Android源码

    今日科技快讯 近日据不少网友反馈 爱奇艺App开始对投屏功能作出限制 之前黄金VIP会员支持最高4K清晰度投屏 现在只能选最低的480P清晰度 要想进行4K投屏必须购买白金VIP会员 不少网友表示 480P清晰度太低 几乎无法观看 作者简介
  • 初代AIGC明星独角兽,停摆在大模型元年

    唏嘘 AIGC方兴未艾 但国内AIGC领域的昔日龙头独角兽 正站在风雨飘摇的悬崖边 影谱科技 初代目AIGC明星公司 被爆已经面临经营不善 运营停摆的窘境 这家成立于2009年的AI影像公司 一直专注大文娱产业 曾在D轮融资时以13 6亿人
  • 计算机网络(六)-传输介质

    一 传输介质 1 1 传输介质也称传输媒体 传输媒介 它就是数据传输系统中在发送设备和接收设备之间的物理通路 1 2 传输媒体并不是物理层 传输媒体在物理层的下面 因为物理层是体系结构的第一层 因此有时称传输媒体为第0层 1 3 传输媒体中
  • Unity3d目录Resources与StreamingAssets文件夹的区别

    1 Resources文件夹 Resources文件夹是一个只读的文件夹 通过Resources Load 来读取对象 因为这个文件夹下的所有资源都可以运行时来加载 所以Resources文件夹下的所有东西都会被无条件的打到发布包中 建议这
  • 炸裂了!3分钟用GPT4做一个PPT!

    GPT4有多强了 相信体验过的同学都知道 一个字爽 无论是速度 还是数据集还是功能都比3 5要强大很多 现在越来越多的人开始用GPT4了 可以大幅的提高我们的工作和学习的效率 今天小编就用GPT4快速做一个PPT 分享给大家 分分钟搞定 1
  • cobra 开启自动补全功能

    cobra 开启自动补全功能 因工作原因 需要将一个由 cobra 写的命令行工具 支持在 bash 和 zsh 环境开启命令行自动补全功能 网上搜了一圈 大部分都是把 cobra github 的介绍翻译一下就完了 而且没有对命令行补全的
  • 关于JAVA毕业设计三个选题推荐

    毕业设计是大学生学习生涯的最后一课 对未来职业发展有重要影响 因此 选题是一个需要慎重考虑的问题 本文将为大家推荐三个相关的JAVA毕业设计选题 希望能够给大家提供一定的参考和帮助 基于SSH框架的学生管理系统 学生管理系统是一个常见而且非
  • JsonView插件的使用

    由于谷歌浏览器经常打不开应用商店 还有就是安装第三方插件的办法 方法就如下 由于最近做和json相关的东西 所以 以jsonView插件为例分享一下 1 打开https github com 2 搜索 jsonView 链接 https g
  • class组件使用静态变量 并且通过react编译

    ok 这种情况直接使用 babelrc 然后 npm start 会出现下面err 我试着通过 babelrc 配置 presets babel preset env babel preset react plugins babel plu
  • Mysql学习笔记九--子查询

    1 mysql表子查询 子查询是指嵌入在其他sql语句中的select语句 也叫嵌套查询 单行子查询 指只返回一行数据的子查询语句 多行子查询 指返回多行数据的子查询 使用关键字 in 如何查询和部门10的工作相同的但是不包含10号部门自己
  • 多输入多输出

    多输入多输出 MATLAB实现BP神经网络多输入多输出预测 目录 多输入多输出 MATLAB实现BP神经网络多输入多输出预测 预测效果 基本介绍 程序设计 参考资料 预测效果
  • 服务的边界

    服务边界是服务拆分和集成的前提 1 识别业务领域及边界 当前主要方法论 领域驱动设计 领域可简单理解为特定的业务系统 其中主要的设计维度为策略维度和技术维度 待完善 2 界限上下文 就是根据界限 边界 确定上下文 具体的业务场景 3 服务边
  • css3 transform + deviceorientation实现图片旋转效果

    1 陀螺仪deviceorientation的使用 参考 关于陀螺仪deviceorientation https segmentfault com a 1190000007183883 2 transform各属性的具体使用 参考 深入理
  • 计算机组成原理——单周期CPU

    单周期CPU 项目代码 实验原理 MIPS指令 rom coe文件 代码 顶层模块SingleCycleCPU display外围模块 PC instructionMemory Alu模块 DataMemory ControlUnit 旧的
  • 排序(六):归并排序

    排序算法系列文章 排序 一 冒泡排序 排序 二 选择排序 排序 三 堆排序 排序 四 插入排序 排序 五 二分搜索 排序 六 归并排序 排序 七 快速排序 排序 八 希尔排序 目录 排序算法系列文章 归并排序 Merge Sort 基本思想
  • Python之文件的读写

    文章目录 前言 一 打开和关闭文件 open和close 1 打开文件 2 关闭文件 mode的方式 几种读取文件的函数 写入文件的函数 二 with open as操作文件 1 with open as与open close的区别 总结
  • Ubuntu部署OpenStack zed版本neutron报错:Feature ‘linuxbridge‘ is experimental and has to be explicitly enab

    系统版本 Ubuntu 22 04 1 LTS OpenStack版本 zed 组件 Neutron 组件报错内容 Feature linuxbridge is experimental and has to be explicitly e
  • GLSL中texture3D获得的值大小

    使用OpenGL的glTexImage3D 获得纹理数据 再在片元着色器对数据进行处理texture3D 得到的数据已被压缩到0 1 openGL函数glTexImage3D导入数据后 在GLSL中 数据被进行了压缩 glTexImage3
  • python3GUI--音乐播放器(精简版)By:PyQt5(附下载地址)

    文章目录 一 前言 二 预览 1 主界面 2 歌单页 3 歌词页 4 播放列表 5 mini 6 设置 三 心得 1 解耦 2 体验优化 3 歌词显示 4 双击歌曲后发生什么 四 总结 一 前言 传送门 1 python3GUI 打造一款音

随机推荐

  • 关于Linux下的pid文件

    1 pid文件的内容 用cat命令查看 可以看到内容只有一行 记录了该进程的ID 2 pid文件的作用防止启动多个进程副本 3 pid文件的原理进程运行后会给 pid文件加一个文件锁 只有获得pid文件 固定路径固定文件名 写入权限 F W
  • Elasticsearch聚合分析、mget批量查询、bulk批量更新

    Elasticsearch分组集合 一 分组聚合操作 开启fielddata属性 1 在ElasticSearch中默认fielddata默认是false的 因为开启Text的fielddata后对内存的占用很高 如果进行聚合查询时候就需要
  • Redfish协议测试工具–Postman

    1 工具和资料获取 2 简单使用说明 1 GET类举例 2 PATCH类举例 3 常见命令 1 工具和资料获取 Postman工具获取 服务器Redfish接口说明文档 使用前必读接口文档中 适用的产品 查看自己的服务器是否支持此协议 2
  • 简单sql注入

    报错注入找列数 确定为16 联合查询找回显点 查询数据库和数据库版本 版本为5 0以上 需要对查询的内容加密否则报错 结果不是需要的 查询所有的表 获得表名cms users 获得字段usename password 得到账号密码
  • 用java代码验证char类型数据占几个字节

    char为字符型数据 储存单个字符 但阿拉伯数字 英文字母 标点符号等皆为字符型数据 占用字节看似错综复杂 但是char也为脱离计算机基本 二进制储存机制 char本质上内存中皆存储字符编码 1 127为ASCII码 也就是常用的字符 但在
  • 关于iOS9中的App Transport Security(ATS)相关说明及适配

    iOS9中新增App Transport Security 简称ATS 特性 主要使到原来请求的时候用到的HTTP 都转向TLS1 2协议进行传输 这也意味着所有的HTTP协议都强制使用了HTTPS协议进行传输 原文如下 App Trans
  • VS2010:error C2061: 语法错误

    实例 类名 类中包含的头文件 point iostream line point flat flat line 输出错误 error C2061 语法错误 标识符 flat 解决办法 前置声明 line h class flat
  • 区块链读书笔记04 - 以太坊

    区块链读书笔记04 以太坊 以太坊 Ethereum 以太坊关键概念 账户 Account 交易 Transaction 消息 Messsage Gas 合约 contract 以太坊虚拟机 EVM DApp 去中心化应用 以太坊架构 以太
  • 网站域名服务器加密,网站域名利用https防劫持方法

    原标题 网站域名利用https防劫持方法 公共 DNS HttpDNS 的部署成本过高 并且具有一定的技术门槛 在面对无孔不入的 DNS 劫持时有时候其实有点力不从心 那么如何简单有效低成本的加强域名防劫持呢 只需要给网站开启 HTTPS
  • mysql jdbc 多数据源_springboot多数据源(oracle、mysql)

    1 application properties配置 server port 8085 server tomcat uri encoding utf 8 MySQL spring datasource primary driver clas
  • java基于BufferedImage进行图片数字识别预处理

    参考文章链接 1 https blog csdn net kobesdu article details 8142068 2 https blog csdn net fjssharpsword article details 5265184
  • 从此刻开始走进HTML的大门!!!

    文章目录 什么是HTML呢 HTML的结构又是怎么样的呢 学习HTML的标签 标题标签 段落标签 文本格式化标签 换行标签 字符实体 容器标签 图片标签 超链接标签 列表标签 什么是HTML呢 HTML 英文全称是 Hyper Text M
  • kmeans算法和kmeans++

    kmeans算法及其优化改进 kmeans聚类算法 算法原理 kmeans的算法原理其实很简单 我用一个最简单的二维散点图来做解释 如上图 我们直观的看到该图可聚成两个分类 我们分别用红点和蓝点表示 下面我们模拟一下Kmeans是怎么对原始
  • 桌面研究-数据源

    文章目录 1 各国每年人口统计表 2 各国年龄结构表 3 国家简介 4 城镇化率 5 美国房屋统计数据 6 各国教育水平 7 住房类型 8 家庭结构 家庭人数 9 恩格尔系数 10 IMF 人均GDP PPP人均GDP 1 各国每年人口统计
  • 自动化测试需要学什么?二十八岁功能想转自动化现实吗?

    先回答一下后面那个问答 二十八岁还能从功能转自动化吗 很多接触软件测试都是从功能测试开始的 但是功能测试的薪资会比自动化少很多 所以就想要要学习自动化 从功能测试转到做自动化 其实这是完全来的及的 花上几个月时间学习自动化测试 造福以后 这
  • 智能化里面计算机网络设计思路,浅谈云机房网络的建设和维护及思路分析

    徐振宇 张欣 摘要 现代机房网络管理过程中 云技术的应用效果非常的显著 该文先对机房中的云技术应用实践中进行分析 并在此基础上就云机房网络的建设及其维护和设计思路 谈一下个人的观点和认识 以供参考 关键词 机房 云技术 网络建设 维护 设计
  • Blob 文件下载对应的常见 MIME 类型列表

    Blob 对象表示一个不可变 原始数据的类文件对象 它的数据可以按文本或二进制的格式进行读取 也可以转换成 ReadableStream 来用于数据操作 在 JS 中通常使用 Blob 进行文件下载保存 new 转换过程中需要指定下载文件
  • BurpSuite Proxy 给代理设置上层代理

    1 简单描述 正常情况而言 使用BurpSuite时数据包的经过流程为 浏览器 BurpSuite Repeater Intruder gt BurpSuite Proxy gt 目标服务器 这个时候其实还是本机发出的流量 我们想让流量由其
  • vue环境变量配置——process.env(详细)

    目录 一 背景 二 配置环境的实现原理 三 使用步骤 3 1安装依赖 3 2创建 env dev 和 env prod两个文件 3 3设置项目启动时默认的环境 3 4查看环境是否配置成功 一 背景 在用vue框架时 经常用到两种环境 一种是
  • 智能指针auto_ptr

    智能指针 auto ptr 这个名字听起来很酷是不是 其实auto ptr 只是C 标准库提供的一个类模板 它与传统的new delete控制内存相比有一定优势 但也有其局限 本文总结的8个问题足以涵盖auto ptr的大部分内容 1 au