2.6 指针管理

合集下载

1WindowsXP操作基础

1WindowsXP操作基础
启动计算机首先要连接好各种电源和数 据线,然后打开显示器,待其指示灯变 亮后,再按下计算机主机上标有Power字 样的电源开关。
2.3.3 关闭计算机
在关闭计算机电源之前,要确保正确退出Windows XP,否 则可能会破坏一些未保存的文件和正在运行的程序。如果未 退出Windows XP就关闭电源,系统将认为这是非正常关机, 因此在下次开机时会自动执行磁盘扫描程序使系统稳定和快 速。但尽管如此,这样操作仍可能会造成致命的错误(如硬 盘损坏或启动文件缺损等)并导致系统无法再次启动。
2.4.1 键盘分区 2.4.2 主键盘键区 2.4.3 副键盘键区 2.4.4 功能键区 2.4.5 光标控制键区 2.4.6 Windows 键盘快捷键
2.4 键盘及其基本操作
键盘是一种很重要的输入设备,是向计 算机输入数据信息的主要手段。汉字及 数据的输入通常都是通过手指在键盘上 敲击而完成的。
2.4.5 光标控制键区
光标控制键区是位于键盘的主键盘键区和副键盘键区之间的按键区域。它有4个 方向键,另外还有12个特殊的系统控制键。
Print Screen(屏幕打印)键:把当前屏幕的显示内容作为一个图像复制到剪贴板 上。
Scroll Lock(屏幕锁定)键:如果屏幕处在滚动状态,按此键可停止滚动。 Pause(中止)键:按Ctrl+Pause键可中止当前程序的执行。 Insert(插入)键:插入键主要用来切换编辑软件中插入和改写状态。 Delete(删除)键:删除当前所选中的内容,如一个文件夹,或者删除光标后的一
2.1 常用操作系统及其特点
2.1.1 DOS操作系统 2.1.2 Windows操作系统 2.1.3 UNIX操作系统 2.1.4 Linux操作系统

Windows10操作系统3

Windows10操作系统3
17
2.1.2 2.启动与关机
⑥睡眠 单击【睡眠】命令,计算机进入睡眠状态。 此时屏幕没有任何显示(类似关机状态),但主机又 保持着立即可用的状态,系统并未退出,计算机只 是处于低消耗状态。
⑦休眠 单击【休眠】命令,计算机进入休眠状态。 此时计算机会将内存中的所有数据自动保存到硬盘 中,然后关机。下次一开机,就会进入到休眠前的 工作状态。
19
2.1.2 3. 桌面简介
①移动图标 用鼠标指向图标,然后拖动到目 标位置即可,该操作即可在桌面上,也可在 窗口中进行。 ②双击图标 若是应用程序图标,将启动相应 的应用程序;若是文件夹图标,将打开文件 夹窗口;若是文档文件图标,先启动创建该 文档的应用程序并打开该文档。 ③图标更名 右击图标,从快捷菜单中选择 【重命名】命令。
4
2.1.1 Windows简介
Windows 10是微软公司于2009年10月发 布的,它有多个版本,分别是简易版(Starter, 只提供给OEM厂商进行预装)、家庭普通版 (Home Basic)、家庭高级版(Home Premium)、 专业版 (Professional)、企业版(Enterprise)和 旗舰版(Ultimate),共6个版本。
图2.8 快捷图标式样
32
2.1.2 3. 桌面简介
右键拖放法 单击【开始】按钮,在【开始】 菜单中,指向【所有程序】→Microsoft Offi ce→Microsoft Word 2010,用鼠标右键将M icrosoft Word 2010的图标拖到桌面指定位 置后,释放鼠标右键,在弹出的如图2.9所示 的快捷菜单中选择【在当前位置创建快捷方 式】命令即可。
13
2.1.2 2.启动与关机
图标

自控仪表调试方案

自控仪表调试方案

目录一、编制说明 (1)二、编制依据 (1)三、工程概况 (1)四、施工前的准备工作 (1)五、热工仪表及装置单体调试 (2)六、仪表系统试验 (8)七、安全技术措施 (9)八、环境保护及文明施工 (10)九、主要标准仪器配置表 (11)一、编制说明本工程中设备、管道内的介质多为剧毒、有腐蚀性、易燃易爆的化学物质,施工中应严格按照设计图纸和施工规范进行,加强对防爆环境自控仪表调试的技术管理,从而保障施工使用的安全和可靠性。

为了给工人创造一个安全的操作环境,杜绝和减少施工中的不安全因素,达到预定的安全质量目标,特制订本调试方案。

二、编制依据设计施工图纸和有关产品说明书及技术文件《石油化工仪表工程施工技术规程》SH/T 3521—2007《自动化仪表工程施工质量验收规范》GB50131—2007《化学工业工程建设交工技术文件规定》GB20237-1994《自动化仪表工程施工及验收规范》GB50093—2002《施工现场临时用电安全技术规范》JGJ46-2005《电气装置工程爆炸和火灾危险环境电气施工及验收规范》GB50257—96《石油化工施工安全技术规程》SH3505—99《自控安装图集》HG/T21581-2010三、工程概况—-----——-项目分馏区自控仪表调试工程。

本工程包括400#工段、600#工段、冷凝水回收系统的自控仪表安装.分馏区装置主要仪表类型:1温度测量,选用一体化温度变送器,隔爆铂热电阻及双金属温度计;2压力测量,选用智能差压变送器、智能压力变送器、智能绝对压力变送器及各种类型压力表;3流量测量,选用节流装置配智能差压变送器、金属管浮子流量计、质量流量计及电磁流量计;4液位测量,选用一体化磁耦合液位计、智能浮筒液位变送器及双法兰智能差压变送器;5执行器选用气动薄膜调节阀、气动蝶阀及气动切断球阀;6可燃气体检测选用可燃气体变送器7冷凝水回收系统中随汽水分离器配套的仪表选型由设备成套供货商提供。

基于Arca3的Linux 2.6内核移植及其全系统仿真

基于Arca3的Linux 2.6内核移植及其全系统仿真
W ANG e —X , ANG i—r n , Ch n H W Ha o g YU n Mi g—y n ' a
(. et 1 C n rfMiol t ncH ri Istt o eho g , abn10 0 ,hn ; e o c e c oi,ab tue fTcnl y H ri 50 1 C ia r er nni o
技开 发 的具 有 国家 自主 知识 产 权 的一 款低 功 耗 、 高 性 能的嵌入 式处 理 器 , 主 频达 到 6 0 Hz 而且 在 其 0M , 全 负荷工作 时 的最大 功耗 不超 过 4 0 0 mW… 。 复杂 的嵌人 式 系 统 需要 操 作 系 统支 持 。 目前 ,
常 向量 表来 管理 异 常 中断 的处 理 。A c3将触 发 方 ra 式 和功 能相似 的异 常类 型对 应 于 同一个 异常 向量 表 项, 它们 在执 行异 常 处 理 函数 时查 询 特定 异 常原 因
系统 采用 A B 总线架 构 组 织 各 个单 元 , MA 管理 它 们
之 间 的通 信 。
NO 2 .




第 2期
21 0 2年 4月
Ap ., 01 r 2 2
MI CR0P R0CES OR S S
基 于 A c3的 Ln x2 6内核 移 植 及其 全 系统 仿真 ra iu .
王 晨 旭 , 海 荣 喻 明艳 王 , ,
(. 1 哈尔滨 工业 大学微 电子 中心 , 尔滨 1 0 0 ; 哈 5 0 1
寄存 器并 确定 具体 的异 常 类 型 , 调用 相 应 的异 常 处
理 程 序。
4 Ln x . iu 2 6在 A e3架 构 上 的 移植 ra

Linux2.6下内核调试技术的改进与研究

Linux2.6下内核调试技术的改进与研究
合 . 法 轻易 的将 内核 代码 放 在 调试 程 序 中执 行 和 无 跟 踪 。 因而在 编 写 驱动 程 序之 前 . 们 首 先编 译 并 我
安 装 自己的新 内核 . 是 为 了在 内核 代 码 中加 入 以 这
收 稿 日期: 0 5 0 — 9 20— 80 基 金 项 目: 安 部 金 盾 工 程 资 助 项 目 (1 A 2W0 3 公 JG B 3 1 )
Ab ta t Ac o dn h iu d l c a im n e ied e ’ lme t. hsp p ra ay e e k re e sr c : cr igt te Ln xmo ue me h ns a dd vc dv rsee ns ti a e lBst e l - o n h n d b gp be i ed vc r e ’ e eo me tpo e s n d rsac e e k r e e u c n lg o gd , a - u r lm n t e ied v rsd v lp n rc s,a ee rh st en l b gt h oo yt mu lyme o h i h d e h n w i ,rp ssa mp o e ou o b u mo alc t nma a e n d ac s ntek r e. hl p o oe i rv dslt n a o t e n i me w l ai , n g me ta ce si e 1 o o n h n Ke r s Ln x26 De u e h oo y K o d ywo d : iu ., b g tc n lg , ig
YANG o Ma ,DAIZib n - i
( stt o lc o i T cn lg,h L fr ai n ier g nvri , hnzo 5 0 4C ia I tue f et nc eh o y teP AI om t nE g ei i sy Z e ghu4 0 0 hn ) ni E r o n o n nU e t

c语言二级指针详解

c语言二级指针详解

c语言二级指针详解C语言中,指针是一种重要的数据类型,它可以指向另一个变量或者数据结构中的一个元素,并且可以进行不同种类的操作(如解引用、赋值、比较、运算等)。

在C语言中,指针本身也是一个变量,它具有一个内存地址,并且其值就是指向的地址。

而指针变量可以通过指定自己的类型来控制指向的变量或者数据结构元素的类型。

在C语言中,指针本身也可以被指针所指向,这样的指针就被称为“二级指针”或者“指向指针的指针”。

二级指针在一些情况下比普通指针更加灵活,比如当我们需要在函数内部进行指针变量的修改或者返回值时,就可以使用二级指针。

1、指向指针的指针需要使用两个星号(**)来声明,例如:int **p;2、在函数中传递指向指针的指针时,需要将变量的地址传递给函数,而函数需要使用指向指针的指针来访问实际的指针变量。

3、在使用二级指针时,我们需要防止指针变量指向非法内存地址,否则会导致程序出现意想不到的错误。

二级指针是C语言中非常重要的概念,尤其在函数调用和指针变量的修改或返回值时,更是非常有用。

不过,我们在使用二级指针时需要额外注意指向内存地址的合法性,否则会导致程序出现异常。

二级指针是指指向指针对象的指针,即指针的指针,它可以通过间接的方式访问一个指针变量所指向的地址,这种间接的访问方式可以增加程序的灵活性,从而使程序更加易于理解和维护。

1、动态内存管理在C语言中,动态内存分配是通过调用malloc函数来实现的,而释放动态内存则需要使用free函数。

在使用malloc函数分配内存时,它会返回一个指针,指向分配的内存空间的首地址,我们可以将这个指针赋值给一个普通的指针变量,然后通过这个普通指针变量来访问分配的内存空间。

不过,当我们使用malloc来分配一个指针数组时,我们就需要使用二级指针来存储这个指针数组的首地址。

int **p = (int **)malloc(sizeof(int *) * 10);for (int i = 0; i < 10; ++i) {p[i] = (int *)malloc(sizeof(int) * 10);}以上代码中,我们使用了二级指针来存储指向指针数组的地址,然后使用循环语句来为每一个指针分配空间。

Linux 内核中的 Device Mapper 机制

Linux 内核中的 Device Mapper 机制简介:本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍。

Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等都是基于该机制实现的。

理解该机制是进一步分析、理解这些卷管理器的实现及设计的基础。

通过本文也可以进一步理解Linux 系统块一级 IO的设计和实现。

Device Mapper 是 Linux2.6 内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构,如图 1。

图1 Device Mapper的内核体系架构在内核中它通过一个一个模块化的 target driver 插件实现对 IO 请求的过滤或者重新定向等工作,当前已经实现的 target driver 插件包括软 raid、软加密、逻辑卷条带、多路径、镜像、快照等,图中 linear、mirror、snapshot、multipath 表示的就是这些 target driver。

Device mapper 进一步体现了在Linux 内核设计中策略和机制分离的原则,将所有与策略相关的工作放到用户空间完成,内核中主要提供完成这些策略所需要的机制。

Device mapper 用户空间相关部分主要负责配置具体的策略和控制逻辑,比如逻辑设备和哪些物理设备建立映射,怎么建立这些映射关系等等,而具体过滤和重定向 IO 请求的工作由内核中相关代码完成。

c语言中给指针的指针申请内存空间

《深入探讨C语言中给指针的指针申请内存空间》1.前言在C语言中,指针的使用是非常重要的一部分。

而指针的指针,也就是双重指针,更是在一些特定情况下非常实用和必要。

本文将针对C语言中给指针的指针申请内存空间这一复杂而重要的话题展开深入探讨。

2.简述指针和指针的指针在C语言中,指针可以用来存储变量的位置区域,通过指针可以直接访问和修改变量的值。

而指针的指针则是指向指针的指针变量,用来存储指针变量的位置区域。

这种多重间接性的概念在一些场景下可以极大地提高程序的灵活性和效率。

3.为指针的指针申请内存空间在C语言中,为指针的指针申请内存空间需要使用二级指针,也就是指向指针的指针。

通过使用一级指针来动态分配内存空间,从而为二级指针分配内存空间。

4.动态内存分配 C语言提供了标准库函数来进行动态内存分配,如malloc()、calloc()、realloc()等。

在为指针的指针申请内存空间时,可以通过这些函数来实现。

5.实际操作和示例接下来,我们将通过具体的代码示例来演示如何为指针的指针申请内存空间。

假设我们需要定义一个二维数组,而数组的行数是动态的,那么我们就需要使用指针的指针来实现。

#include <stdio.h>#include <stdlib.h>int main() {int i, j;int **arr; // 定义指针的指针int rows = 3, cols = 4; // 假设行数为3,列数为4// 申请内存空间arr = (int **)malloc(rows * sizeof(int *));for (i = 0; i < rows; i++) {arr[i] = (int *)malloc(cols * sizeof(int)); }// 对二维数组赋值并输出for (i = 0; i < rows; i++) {for (j = 0; j < cols; j++) {arr[i][j] = i * cols + j;printf("%d ", arr[i][j]);}printf("\n");}// 释放内存空间for (i = 0; i < rows; i++) {free(arr[i]);}free(arr);return 0;}在这个示例中,我们首先定义了一个指向指针的指针arr,然后使用malloc()函数为一级指针和二级指针分别申请了内存空间。

linux2.6内核参数详解

Enable extended accounting over taskstats
收集额外的进程统计信息并通过taskstats接口发送到用户空间
Configure standard kernel features (for small systems)
配置标准的内核特性(为小型系统)
Enable 16-bit UID system calls
Subarchitecture Type
处理器的子架构,大多数人都应当选择"PC-compatible"
Processor family
处理器系列,请按照你实际使用的CPU选择
Generic x86 support
通用x86支持,如果你的CPU能够在上述"Processor family"中找到就别选
Initramfs source file(s)
initrd已经被initramfs取代,如果你不明白这是什么意思,请保持空白
Optimize for size (Look out for broken compilers!)
编译时优化内核尺寸(使用"-Os"而不是"-O2"参数编译),有时会产生错误的二进制代码
在多cpu系统中让特权CPU访问x86的MSR寄存器
/dev/cpu/*/cpuid - CPU information support
能从/dev/cpu/x/cpuid获得CPU的唯一标识符(CPUID)
IPC Namespaces
IPC命名空间支持,不确定可以不选
POSIX Message Queues
POSIX消息队列,这是POSIX IPC中的一部分
BSD Process Accounting

高质量程序设计指南C++ C语言(经典第1版)林锐

第 6 章 函数设计 ............................................................................................................... 36
2001
Page 3 of 101
高质量 C++/C 编程指南,v 1.0
2001年7月24日高质量cc编程指南v10版本历史版本状态作者参与者起止日期备注v09林锐200171至林锐起草草稿文件2001718v10林锐2001718至朱洪海审查v09正式文件2001724林锐修正草稿中的错误2001page2of101高质量cc编程指南v10目录目录前言6第1章文件结构1111版权和版本的声明1112头文件的结构1213定义文件的结构1314头文件的作用1315目录结构14第2章程序的版式1521空行1522代码行1623代码行内的空格1724对齐1825长行拆分1926修饰符的位置1927注释2028类的版式21第3章命名规则2231共性规则2232简单的windows应用程序命名规则2333简单的unix应用程序命名规则25第4章表达式和基本语句2641运算符的优先级2642复合表达式2743if语句2744循环语句的效率2945for语句的循环控制变量3046switch语句3047goto语句31第5章常量3351为什么需要常量3352const与define的比较3353常量定义规则3354类中的常量34第6章函数设计362001page3of101高质量cc编程指南v1061参数的规则3662返回值的规则3763函数内部实现的规则3964其它建议4065使用断言4166引用与指针的比较42第7章内存管理4471内存分配方式4472常见的内存错误及其对策4473指针与数组的对比4574指针参数是如何01-7-1 至 2001-7-18 2001-7-18 至 2001-7-24
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++语言课程 C++语言课程
第6章 指针管理
本章目标
-> 运算符的重载 实现灵巧指针 void* 空指针、内存泄露、游离指针、悬浮 空指针、内存泄露、游离指针、 指针 指针管理类:自动指针(auto_ptr) 指针管理类:自动指针(auto_ptr) 引用计数:智能指针(SmartPointer) 引用计数:智能指针(SmartPointer) 结对编程习惯的重要性以及注意事项
2010-06
解决造成悬浮指针引起系统崩溃的途径? 解决造成悬浮指针引起系统崩溃的途径?
2010-06

12
重载定位new 和delete 重载定位
• 引用计数:智能指针(SmartPointer) 引用计数:智能指针(SmartPointer) • 智能指针的思想
跟简单指针具有相同的语义。
2010-06

2
Operator->重载 重载
Operator -> 当希望一个对象表现得象一个指针时, 当希望一个对象表现得象一个指针时,通常就用到了 operator->,由于这样的的一个对象比一般的指针 operator->,由于这样的的一个对象比一般的指针 有着更多与生俱来的灵巧性, 有着更多与生俱来的灵巧性,于是常被称作灵巧指 针
• 智能指针要解决的问题 • 关于实现引用计数结构的考虑? 关于实现引用计数结构的考虑? • 引用链表 • 同类型的赋值问题? 同类型的赋值问题? • 拥有权的考虑? 拥有权的考虑? • 类型转换策略问题? 类型转换策略问题?
2010-06

13Biblioteka 总结• 关于boost的智能指针 关于boost的智能指针 boost
2010-06
pint_auto(new int(10)) pint_auto1(pint_auto.get());//error pint_auto1(pint_auto.release());//ok
11
游离指针、 游离指针、悬浮指针
游离指针、 游离指针、悬浮指针 造成悬浮指针的操作情形: 造成悬浮指针的操作情形:
重载定位new 和delete 重载定位
• 结对编程习惯的重要性以及注意事项
世界上唯一不变的就是变化
什么是结对编程? 什么是结对编程?
所有的产品代码都是由结对的程序员使用同一台电脑共同完成的。 所有的产品代码都是由结对的程序员使用同一台电脑共同完成的。结 对人员中的一位控制键盘并输入代码, 对人员中的一位控制键盘并输入代码,另一位观察输入的代码并寻 找着代码中的错误和可以改进的地方。两个人互换角色, 找着代码中的错误和可以改进的地方。两个人互换角色,轮流控制 键盘。 键盘。 1、利于知识的传播 加强团队的合作。 2、加强团队的合作。 3、减少代码缺陷 提高团队的开发效率。 4、提高团队的开发效率。 5、利于人员调配 集体所有权。责任无法落实。 6、集体所有权。责任无法落实。
1.
auto_ptr的缺陷: auto_ptr的缺陷: 的缺陷 对非new表达式分配对象无效。 new表达式分配对象无效 对非new表达式分配对象无效。 两个auto_ptr对象拥有同一对象的所有权。 auto_ptr对象拥有同一对象的所有权 两个auto_ptr对象拥有同一对象的所有权。
auto_ptr<int > auto_ptr<int> auto_ptr<int>
2010-06

3
对象创建
#include <cstdlib> #include <vector> #include <iostream> using namespace std; //容器装载的类 class Obj{ //容器装载的类 public: void f() const{ cout<<i++<<endl;} void g() const{cout <<j++<<endl;} private: static int i,j; }; // look here int Obj::i=47; int Obj::j=11; class ObjContainer{ vector<Obj*> v; public: void add(Obj* obj){v.push_back(obj);} class SmartPointer; friend class SmartPointer; SmartPointer begin() { return SmartPointer(*this); }
2010-06

4
灵巧指针
class SmartPointer { private: ObjContainer &oc; int index; public: SmartPointer(ObjContainer &objc):oc(objc) index=0; } bool operator++() { if (index>=oc.v.size()) return false; if (oc.v[++index]==0) return false; return true; } bool operator ++(int){ return operator++(); } Obj* operator ->()const{ return oc.v[index]; } };//end of smartpointer };//end of ObjContainer
auto_ptr是c++标准库提供的类模板,它可以帮助程序员自动管理用new auto_ptr是c++标准库提供的类模板,它可以帮助程序员自动管理用new 标准库提供的类模板 单个对象。 new表达式分配的数组不予以支持 表达式分配的数组不予以支持。 表达式动态分配的单个对象 表达式动态分配的单个对象。对new表达式分配的数组不予以支持。 使用auto_ptr auto_ptr前 要包含的头文件<memory> 使用auto_ptr前 要包含的头文件<memory> auto_ptr对象定义的形式 对象定义的形式: auto_ptr对象定义的形式: 标识符( 表达式) auto_ptr<type_pointed_to> 标识符(new 表达式); 标识符(同类型的另一个自动指针) auto_ptr<type_pointed_to> 标识符(同类型的另一个自动指针); 标识符; auto_ptr<type_pointed_to> 标识符; 例如: 例如: auto_ptr<int> pint (new int(1024)); auto_ptr类背后的设计动机是支持与普通指针类型相同的语法 类背后的设计动机是支持与普通指针类型相同的语法, auto_ptr类背后的设计动机是支持与普通指针类型相同的语法,同时为 auto_ptr对象所指的对象的释放提供自动管理 对象所指的对象的释放提供自动管理。 auto_ptr对象所指的对象的释放提供自动管理。 造成悬浮指针的解决方式是:对管理对象的所有权的管理。 造成悬浮指针的解决方式是:对管理对象的所有权的管理。 1. 初始化时所有权的转移 2. 赋值之时所有权的的转移
2010-06

10
重载new 和delete 重载
自动指针(auto_ptr) 自动指针(auto_ptr)
get()成员的作用返回管理的对象。 get()成员的作用返回管理的对象。 成员的作用返回管理的对象 reset() ()为自动指针赋值 2. reset()为自动指针赋值 pauto_int.reset(new int(1024)); 不能采用的方式: 不能采用的方式: auto_ptr<int> pa; pa=new int(10);//error 3. assign() 为管理的对象重新赋值
2010-06

7
指针
空指针
2010-06

8
内存泄露
内存泄露 造成内存泄露的情形: 造成内存泄露的情形:
避免内存泄露的途径? 避免内存泄露的途径?
2010-06

9
重载new 和delete 重载
自动指针(auto_ptr) 自动指针(auto_ptr)
pointers(智能指针)是存储“ smart pointers(智能指针)是存储“指向动态分配 在堆上)的对象的指针”的对象。 (在堆上)的对象的指针”的对象。他们的行为很像 的内建指针, C++ 的内建指针,只是它们可以在适当的时候自动删 除它们所指向的对象。 除它们所指向的对象。智能指针在面对异常时有非常 显著的作用, 显著的作用,它们可以确保动态分配对象的完全析构 它们还可以用于跟踪多主人共享的动态分配对象。 。它们还可以用于跟踪多主人共享的动态分配对象。 在概念上,智能指针可以看作拥有它所指向的对象, 在概念上,智能指针可以看作拥有它所指向的对象, 并因此在对象不再需要时负责将它删除。 并因此在对象不再需要时负责将它删除。
2010-06

14
scoped_ptr<boost/scoped_ptr.hpp>简单的单一对象 scoped_ptr<boost/scoped_ptr.hpp>简单的单一对象 <boost/scoped_ptr.hpp> 的唯一所有权。不可拷贝。 的唯一所有权。不可拷贝。 scoped_array<boost/scoped_array.hpp> <boost/scoped_array.hpp>简单的数组 scoped_array<boost/scoped_array.hpp>简单的数组 的唯一所有权。不可拷贝。 的唯一所有权。不可拷贝。 shared_ptr<boost/shared_ptr.hpp> <boost/shared_ptr.hpp>在多个指针间共 shared_ptr<boost/shared_ptr.hpp>在多个指针间共 享的对象所有权。 享的对象所有权。 shared_array<boost/shared_array.hpp> <boost/shared_array.hpp>在多个指针 shared_array<boost/shared_array.hpp>在多个指针 间共享的数组所有权。 间共享的数组所有权。 weak_ptr<boost/weak_ptr.hpp> <boost/weak_ptr.hpp>一个属于 weak_ptr<boost/weak_ptr.hpp>一个属于 shared_ptr 的对象的无所有权的观察者。 的对象的无所有权的观察者。 intrusive_ptr<boost/intrusive_ptr.hpp> <boost/intrusive_ptr.hpp>带有一个 intrusive_ptr<boost/intrusive_ptr.hpp>带有一个 侵入式引用计数的对象的共享所有权。 侵入式引用计数的对象的共享所有权。
相关文档
最新文档