原本我以为是我程序框架有问题...后来才知道, 无知真可怕... 大家都知道, 在block里面使用self会形成循环引用, 所以我这里就使用__unsafe_unretained __block typeof(self) weakSelf = self; 来避免, 但是在每次发出请求后(请求结果还 ...
分类:
Web程序 时间:
2016-04-22 13:26:12
阅读次数:
141
push_back 就是在vector的末尾插入一个元素, vector 中的erase()函数,从指定容器删除指定位置的元素或者某段范围内的元素,删除之后,返回值也是一个迭代器,指向最后一个删除元素的下一个元素, 出现的问题就是:迭代器变成了一个野指针,需要重新把迭代器的指针指向begin或者把返 ...
分类:
其他好文 时间:
2016-04-20 23:33:00
阅读次数:
303
今天,在大连有一个面试,被问到了内存泄漏和野指针指向的区别,自己答的不是很好,特意回来查了资料,在博文中总结一下经验,欢迎指正。 内存泄漏:是指在堆区,alloc 或new 创建了一个对象,但是并没有放到自动释放池中,或者没有free 对象,导致这块内存一直被占用,换一种方法说,就是没有指针指向这块 ...
分类:
移动开发 时间:
2016-04-19 00:20:32
阅读次数:
162
1.iOS 深拷贝和浅拷贝的区别 浅拷贝: 浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时候,指向这片内存的几个指针需要重新定义才可以使用,要不然会成为野指针 在 iOS 里面, 使用retain 关键字进行引用计数,就是一种更加保险的浅拷贝。他既让几个指针共用同一片内存空间,又 ...
分类:
移动开发 时间:
2016-04-18 13:32:20
阅读次数:
160
很久没有写技术方面的东西了,这半年主要是在学习别人的东西,对自己提高比较大,算是一次技术回笼吧,这次学习之旅目的是结束技术方面的专注,开始向应用方面找突破口,也就是完成技术积累或者为技术的积累做坚实的准备。 c/C++的一个让人疯狂的地方就是内存管理,非法访问、越界、野指针、泄漏、内存分配器等诸多问 ...
来源:http://blog.csdn.net/lezhiyong 问题: 在某项目的測试过程中,測试在高清压力測试过程中会偶尔出现RSS崩溃现象,崩溃时间不确定,因为在守护进程服务的守护下,RSS崩溃后被又一次拉起。所以这个故障在崩溃立即发送时在网管上并没有体现服务停止的告警,仅仅有当測试人员去R ...
分类:
编程语言 时间:
2016-04-12 12:51:32
阅读次数:
133
当我们在编写一些结构复杂的程序的时候,有时候可能需要不断地开辟内存,但是往往就会忘记去释放它,从而造成内存泄露。使用new和delete来管理动态内存常出的一些错误:1.忘记delete,即导致了“内存泄漏”,2.野指针。在对象已经被释放掉之后,(这里注意,此时的指针成为了悬..
分类:
其他好文 时间:
2016-04-05 02:19:45
阅读次数:
198
1. 野指针 (1)指针变量中的值是非法的内存地址,进而形成野指针 (2)野指针不是NULL指针,是指向不可用内存地址的指针 (3)NULL指针并无危害,很好判断,也很好调试 (4)C语言中无法判断一个指针所保存的地址是否合法 2. 野指针的由来 (1)局部指针变量没有被初始化 (2)指针所指向的变 ...
分类:
其他好文 时间:
2016-04-05 00:05:35
阅读次数:
207
什么是野指针:野指针就是没有初始化的指针,或者使用完之后没有赋成NULL的指针,在创建一个指针之后如果没有对他进行初始化,那么他就会乱指一通,会造成不可估量的后果。例:int*a;*a=12;这个a就是一个野指针,如果运气好,a指向的是一个非法的地址,则赋值会出错,程序挂掉..
分类:
其他好文 时间:
2016-04-04 21:18:07
阅读次数:
130
指针知识总结一.指针定义:指针用来保存、操作内存,解决系统堆栈空间的溢出问题,可更为灵活的使用内存。#地址是变量在内存中的编号,可用取地址符“&”来获得变量的地址。#指针可以保存地址。#野指针:每个指针必须有对应的一个变量地址,若没有就是一个野指针,其带有..
分类:
其他好文 时间:
2016-04-01 06:42:42
阅读次数:
134