1. 引用和指针的区别 ① 引用必须初始化,指针可以不初始化 ② 引用不可以为空,指针可以为空(野指针) ③ 引用绑定的值不能改,指针可以 ④ 不能定义引用型数组,可以定义指针数组 建议: 在C++中尽量使用引用,而少使用指针,因为容易出现野指针、容易出现段错误等。 2. 函数重载的方式 ① 函数名 ...
分类:
编程语言 时间:
2016-08-15 00:10:11
阅读次数:
153
1.会产生野指针的做法 2.正确的做法: 3.间接赋值是指针存在的最大意义 间接赋值的条件:(1)定义实参(普通变量)和形参(指针变量)(2)把实参的地址传给形参(3)利用形参来修改实参的值 被调用函数分配的内存,结果传出来的两种方法(1)return(2)指针做函数参数 4.几个本质 数据类型:数 ...
分类:
编程语言 时间:
2016-08-13 11:25:01
阅读次数:
209
一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针) 2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。 下面两个都是空指针: 2.野指针 "野指针"不是NULL指针,是指向"垃圾"内存(不可用内存)的指针。野指针是非常危险的。 二、野 ...
分类:
其他好文 时间:
2016-08-01 17:23:55
阅读次数:
148
今天程序运行时,将其关闭,会出现 内存不能为Read,不知原因; 原因: 1. 通常都是 定义的变量 未初始化 直接使用 或者 野指针 ; 2. 内存泄漏 : 内存空间使用完毕之后未回收 一般指堆区内存泄漏 比如 使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须 ...
分类:
其他好文 时间:
2016-07-23 22:53:23
阅读次数:
280
引言 提到僵尸就感到一种恐怖,大家都知道“僵尸”是没有生命的,但是它确实是一种存在的类似生命体的一种生物。哈哈,当然本文的重点不是讨论“僵尸”,而是有关于ios当中经常遇到的僵尸指针(Zombie Pointer)和僵尸对象(Zombie Object)。 野指针 先来介绍一下野指针,C/C++中对 ...
分类:
移动开发 时间:
2016-07-11 20:55:00
阅读次数:
315
定位野指针除了使用Malloc Scribble(内存涂鸦)外,还可以使用僵尸对象。所谓的僵尸对象,就是将被释放的对象标记为僵尸,系统不会回收这些对象的内存,并让这些内存无法被重用,因而也就不会被覆写。在启用“僵尸对象”后,在调试期间,如果对象被释放了,会被转化为“僵尸对象”。如果再向对象发送消息, ...
分类:
移动开发 时间:
2016-07-11 12:11:43
阅读次数:
789
一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针) 2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。 下面两个都是空指针: 2.野指针 "野指针"不是NULL指针,是指向"垃圾"内存(不可用内存)的指针。野指针是非常危险的。 二、野 ...
分类:
移动开发 时间:
2016-07-08 10:13:00
阅读次数:
184
为什么类空指针/野指针可以调用类的成员函数? #include <stdio.h> int g_index = 10; class A{public: void Print1() { printf("g_index = %d\n", g_index); } void Print2() { print ...
分类:
其他好文 时间:
2016-07-07 19:06:11
阅读次数:
120
长久以来,C++中的内存管理问题一直让人头疼,空指针,野指针,内存泄露。。。。。。C++程序员看到这样的问题就是各种头大!这样的问题往往很难解决,尤其是代码架构比较庞大或者复杂的时候。但是同样是面向对象的JAVA语言却没有这个问题,为什么呢?因为java有GC,也就是垃圾回收而C++没有。C++的做法是:程序员必须做到在new一个对象之后当不需要使用它的时候必须delete这个对象。看来很好,没有问...
分类:
移动开发 时间:
2016-06-24 15:12:43
阅读次数:
262
1野指针强化:#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//野指针产生的原因
//指针变量和它指向的内存空间变量是两个不同的概念
//释放了指针所指向的内存空间,但是指针变量本省没有重置为NULL
//造成释放的时候,通过if(p1!=NUll)
//避..
分类:
其他好文 时间:
2016-06-15 00:18:19
阅读次数:
304