什么时候需要定义自己的拷贝构造函数: 当类中包含有,动态分配成员 或者 指针 的时候。 如果使用默认构造函数,则新构造出来的 新类 和 旧类 里面的指针成员 指向同一个空间, 而当其中一个类 清空掉那个空间 。另一个类的指针就会变成野指针(因为空间已经被清空) , 也就是说默认构造函数是复制值(地址 ...
分类:
其他好文 时间:
2016-12-30 01:47:33
阅读次数:
207
// // main.m // 03-多个对象的内存管理分析 // // Created by apple on 14-3-17. // // #import <Foundation/Foundation.h> //人拥有一辆汽车 #import "Person.h" //1.野指针问题 //2.内 ...
分类:
其他好文 时间:
2016-12-12 19:00:05
阅读次数:
173
1. 故障描述 故障操作步骤: 单板上插了一个U盘,出问题前正在通过FTP往单板上拷贝文件,拷贝的过程中单板自动重启。 故障现象: Entering kdb (current=0xc000000594069e38, pid 4) on processor 0 Oops: <NULL> due to ...
分类:
系统相关 时间:
2016-11-03 14:06:53
阅读次数:
547
情景假设:在堆内存中申请了一块内存,然后释放掉该内存,然后再去访问这块内存。也就是所说的野指针访问。当cpu产生页面错误时,会把失败的线性地址放在cr2寄存器.线性地址缺页异常的4种情况1.如果cpu访问的行现地址在内核态,那么很可能访问的是非连续区,需要vmalloc_fault处理.2.缺页异常... ...
分类:
系统相关 时间:
2016-10-27 13:15:21
阅读次数:
336
C++教程:NULL指针、零指针、野指针1.空指针、NULL指针、零指针1.1什么是空指针常量0、0L、”、3–3、0*17(它们都是“integerconstantexpression”)以及(void*)0(我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意(char*)0不叫空指针常量,只是一个空指?.
分类:
编程语言 时间:
2016-10-21 17:06:25
阅读次数:
248
1.野指针通常是因为指针变量中保存的值不是一个合法的内存地址而造成的2.野指针不是NULL指针,是指向不可用内存的指针3.NULL指针不容易用错,因为if语句很好判断一个指针是不是NULL,C语言中没有任何手段可以判定一个指针是否为野指针4.(1)局部变量没有被初始化(2)使用已经..
分类:
其他好文 时间:
2016-10-14 07:53:12
阅读次数:
133
1.创建窗口的四大步骤(这是必须掌握的) 整体框架 2.基本概念 变量的生命周期:可以认为出了包含它的大括号,这个变量的生命周期结束。所以全局变量的声明位于所有大括号之外。但是用 new 声明的变量和用 static 声明的变量除外 野指针:将指针指向的变量的内存释放后,此指针即变成野指针!如何避免 ...
分类:
编程语言 时间:
2016-10-12 11:16:51
阅读次数:
172
这个地方,这样写的,会变成野指针,苹果支付发货失败,提交苹果商店也会失败 要这样写: ...
分类:
编程语言 时间:
2016-10-11 10:37:01
阅读次数:
152
指针:变量,存储的值是另外一个变量的地址, 指针的类型取决于指向的变量类型。 指针使用时必须初始化,不然就是野指针。将会存储垃圾地址。 不能直接解引用一个空指针,否则会发生段错误,因为0号地址属于系统级空间,不允许用户级程序访问。 p 与 *p p是指针变量,p 的值是p所指向的变量的地址; *p是 ...
分类:
编程语言 时间:
2016-08-30 00:26:48
阅读次数:
132