码迷,mamicode.com
首页 >  
搜索关键字:野指针    ( 302个结果
retain strong 和 copy 讨论,有建议的的童鞋请留言
总结下我的理解: strong weak是ARC引入的,strong相当于retain,但是对于有的类型,例如NSString,则使用strong相当于使用copy 这样直接用strong就可以直接处理retain和strong的情况了。 weak相当于assign,但是比后者多一点:对象被干掉时会将weak引用设为nil,而对nil发送消息都不会导致崩溃 否则weak引用为野指针,会出现...
分类:其他好文   时间:2015-01-06 21:42:46    阅读次数:152
OC中内存管理问题之引用计数
定义一个Person类 其实引用计数这个问题大家可以理解为租房子的问题, 如果有retain alloc 代表这个人租了这间大房子, 拿到了一把钥匙, 引用计数代表房子一共有的钥匙的数量, release代表退房归还钥匙         Person * p = [[Person alloc] init];//房东盖好了一间房子, 现在是房东一个人         //a...
分类:其他好文   时间:2015-01-02 14:44:25    阅读次数:104
防止内存泄露
为了防止内存泄露,养成检测内存分配/释放是否成功的良好习惯: 1,动态分配内存的时候检测是否分配成功,如果不成功请返回友好提示~ 2,释放内存的时候将释放后的内存指针指向NULL,以保证不能被访问~ 因为释放内存后,系统只是回收了指针所指的内存,此时指针是一个野指针本身仍是合法的,(只有有些类似void*的指针了),访问野指针程序当然出现异常~! 例子1:malloc()和free...
分类:其他好文   时间:2014-12-26 11:09:29    阅读次数:143
iOS中修饰符assign与weak的区别
上次做项目的时候,因为将delegate声明成assign类型,导致了程序EXC_BAD_ACCESS异常。结果发现是assign与weak的最大区别 它们都是弱引用声明类型,最大的区别在那呢? 如果用weak声明的变量在栈中就会自动清空 如果用assign声明的变量在栈中可能不会自动赋值为nil,就会造成野指针错误!...
分类:移动开发   时间:2014-12-19 00:40:15    阅读次数:159
Android的引用计数(强弱指针)技术及一些问题
Android C++框架层的引用计数技术C++中对指针的使用时很头疼的事情,一个是经常会忘记free 指针,造成内存泄露,另外一个就是野指针问题:访问已经free掉的指针。程序debug工作的相当大部分,都是花费在这。Android中通过引用计数来自动管理指针的生命周期,动态申请的内存将会在不再需...
分类:移动开发   时间:2014-12-09 00:17:57    阅读次数:239
预防野指针的几种方法
野指针,又称迷途指针,即指向“垃圾”内存的指针。此时指针指向的内存已被操作系统回收,程序已无法再访问。...
分类:其他好文   时间:2014-12-08 21:31:46    阅读次数:172
什么是空指针
C++语言定义中说,每一种指针类型都有一个特殊值----"空指针"。 空指针在概念上不同于未初始化的指针。空指针可以确保不指向任何对象或函数;而未初始化的指针则可能指向任何地方。 空指针不是野指针。每种指针类型都有一个空指针,而不同类型的空指针内部表示可能不尽相同。尽管程序员不必知道内部值,但编译器必须时刻明确需要哪种指针空指针,以便在需要时加以区分。...
分类:其他好文   时间:2014-12-08 21:24:16    阅读次数:179
学习笔记之09-空指针和野指针
一、什么是空指针和野指针1.空指针1> 没有存储任何内存地址的指针就称为空指针(NULL指针)2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。下面两个都是空指针:1 Student *s1 = NULL;2 3 Student *s2 = nil;2.野指针"野指针"不是NULL...
分类:其他好文   时间:2014-12-06 08:49:21    阅读次数:164
Objective-C中的浅拷贝和深拷贝
浅拷贝浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如:char*str=(char*)malloc(100);char*str2=str;浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针。...
分类:其他好文   时间:2014-11-29 20:10:57    阅读次数:188
c++11:智能指针
我们在程序运行的过程中,经常出现段错误、内存持续增大等,是C++显式内存管理存在的问题,主要归纳为以下几点:野指针:一些内存单元已经释放,但之前指向它的指针还在使用。重复释放:程序试图释放已经被释放过的内存单元。内存泄漏:没有释放不再使用的内存单元。缓冲区溢出:数组越界。不配对的new[]/dele...
分类:编程语言   时间:2014-11-28 20:02:28    阅读次数:308
302条   上一页 1 ... 24 25 26 27 28 ... 31 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!