C++中智能指针能够防止出现野指针、内存泄露等情况,智能指针的类中包括4个函数:构造函数、拷贝构造函数、重载复制操作符、析构函数。构造函数须要对引用计数和指针进行初始化,引用计数初始化为1,拷贝构造函数完毕对象之间的拷贝,要注意引用计数的变化和推断两个指针是否指向同样的内存。重载复制操作符。须...
分类:
其他好文 时间:
2016-01-10 13:02:07
阅读次数:
113
一、非ARC内存管理问题。 有些同学在创建项目的时候忘记点ARC了,导致一些成员属性都莫名其妙的释放了。然后出现了一系列莫名其妙的错误。在滚动UITableView的时候出现野指针错误。 一出现这些野指针错误,首先应该想到某些对象被释放了,然后发现代码中,并没有什么造成对象被释放的情况,这时...
分类:
移动开发 时间:
2016-01-08 20:11:13
阅读次数:
258
??数据本地化A CCUserDefault系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDefault.xml.全部的key皆为char *型。value类型为bool intfloat double...
分类:
其他好文 时间:
2016-01-08 18:43:49
阅读次数:
523
1,内存管理简单介绍 1,为什么要有内存管理? malloc selloc dealloc```需要回头复习 一般的内存 4s 是512m内存;6 是1024m内存; 当内存过大时,会耗尽内存。出现程序闪退。 2、OC内存管理的范围 : 管理任何继承NSObjec...
分类:
其他好文 时间:
2016-01-03 02:41:54
阅读次数:
1053
1.iOS里面有一个经常出现的现象,就是崩溃,也就是闪退,90%以上都是内存原因, 1)内存溢出 2)野指针异常 内存大比较难以发现问题,需要程序员对内存管理有比较好的使用习惯。2.内存溢出:超出分配内存访问,5s内存50M;6内存限制80M;6s内存限制130M;3.野指针异常:野外的指针,没有....
分类:
其他好文 时间:
2015-12-15 19:28:46
阅读次数:
160
在项目中遇到各种问题:(1)thread 1:exc_bad_access(code=1,address=0x10)完全不知道错误出现在哪里。错误原因:exc_bad_access(code=1, address=0x789870)野指针错误,主要的原因是,当某个对象被完全释放,也就是retainC...
分类:
移动开发 时间:
2015-12-14 23:15:06
阅读次数:
328
今天用上了Vector.erase()方法,发现很多鬼畜。后来查资料才发现,erase()是删除当前迭代器返回下一个迭代器。如果你仅仅是使用了erase但是没有更新遍历的迭代器就会导致当前迭代器被释放成野指针,成为野指针后再使用++ -- 的操作肯定会出问题。于是你需要将迭代器更新,即iter .....
分类:
其他好文 时间:
2015-12-06 14:24:54
阅读次数:
124
栈: 局部变量:定义在方法或函数内部变量 系统管理 堆:动态存储区 一般由程序猿管理##引用计数如果内存管理不当 1、不再使用对象没有被回收,内存泄露,最终导致程序闪退 2、正在被使用对象被释放了,野指针,访问野指针就会导致程序崩溃 ARC Automatic...
分类:
其他好文 时间:
2015-11-29 19:40:24
阅读次数:
124
目标1.【理解】内存管理2.【掌握】第一个MRC程序3.【掌握】内存管理的原则4.【理解】野指针与僵尸对象5.【理解】单个对象的内存管理6.【理解】多个对象的内存管理7.【掌握】set方法的内存管理8.【掌握】@property参数9.【掌握】@class关键字10.【理解】循环retain一、内存...
分类:
移动开发 时间:
2015-11-25 10:11:58
阅读次数:
338
main(){ //不能使用不同类型的给指针赋值 /* int a = 5; double* p = &a; printf("%d",*p); */ //野指针不可以使用, // int* p ; //...
分类:
编程语言 时间:
2015-11-22 12:27:40
阅读次数:
196