2006年,编程语言工程师Graydon Hoare利用业余时间启动了Rust语言项目。该项目充分借鉴了C/C++/Java/Python等语言的经验,试图在保持良好性能的同时,克服以往编程语言所存在的问题。其最大的特点在于保持较高的运行效率、深入的底层控制和广泛应用范围的同时,解决了传统C语言和C ...
分类:
编程语言 时间:
2017-04-05 10:51:58
阅读次数:
182
#include <stdio.h>#include <stdlib.h>#include <string.h> //野指针产生的原因//指针变量和它所指向的内存空间变量是两个不同的概念//释放了指针所指的内存空间 但是指针变量本身没有重置成null //造成释放的时候 通过if(p1 != NUL ...
分类:
其他好文 时间:
2017-03-30 21:44:19
阅读次数:
191
dealloc方法基本概念 当一个对象的引用计数器值为0时,这个对象即将被销毁,其占用的内存被系统回收 对象即将被销毁时系统会自动给对象发送一条dealloc消息 (因此, 从dealloc方法有没有被调用,就可以判断出对象是否被销毁) dealloc方法的重写 一般会重写dealloc方法,在这里 ...
分类:
其他好文 时间:
2017-03-19 15:46:25
阅读次数:
186
1.僵尸对象 已经被销毁的对象(不能再使用的对象) 2.野指针 指向僵尸对象(不可用内存)的指针 给野指针发消息会报EXC_BAD_ACCESS错误 3.空指针 没有指向存储空间的指针(里面存的是nil, 也就是0) 给空指针发消息是没有任何反应的 为了避免野指针错误的常见办法 在对象被销毁之后, ...
分类:
其他好文 时间:
2017-03-19 15:30:50
阅读次数:
122
学习数据结构时对指针和链表很迷糊,也就自己总结 一下,如果有错误或者理解上的错误欢迎指正,谢谢 指针 指针是什么,指针就是指针类型,就和int 类型,float类型等一样,而对于指针个人当时学习的时候总被*弄得迷糊, *的作用: 1:类型说明符,int*p,定义p是一个指向整型的指针变量,p就是这个 ...
分类:
其他好文 时间:
2017-03-18 20:31:16
阅读次数:
178
oc对象的一些属性: retain,strong, copy,weak,assign,readonly, readwrite, unsafe_unretained 下面来分别讲讲各自的作用和区别: retain,计数器加1, (增加一个指向内存的指针) 对应release(计数器-1) setter ...
分类:
移动开发 时间:
2017-03-15 16:00:10
阅读次数:
199
1 内存分配方式 内存分配方式有如下三种: 一般的原则是:如果使用堆栈和静态存储就能够满足应用需求,就不要使用动态存储。因为,在堆上动态分配内存需要很多额外开销。 2 常见的内存错误及其对策 使用free()或者delete释放了内存之后,没有把指针设置为NULL,产生“野指针”。 函数return ...
分类:
编程语言 时间:
2017-03-05 16:13:08
阅读次数:
181
通过度娘来看,都是不推荐在代码中使用try catch的,既然苹果给我们提供了try catch,为什么大家都不推荐用呢?原因如下: 1、因为try catch无法捕获UncaughtException,而OC中大部分crash如:内存溢出、野指针等都是无法捕获的,而能捕获的只是像数组越界之类(这真 ...
分类:
其他好文 时间:
2017-02-06 12:55:49
阅读次数:
143
实战BUG: 1.在创建空队列时没有建立新结点,导致Q->front和Q->rear成了野指针,然而,编译器并没有报错O_O 疑惑: 1.exit()OVERFLOW宏定义问题,关于exit()见http://www.cnblogs.com/laojie4321/archive/2012/03/31 ...
分类:
其他好文 时间:
2017-01-23 19:08:52
阅读次数:
169
1、在ARC出现之前,Objetive-C的内存管理需要手工执行release&retain操作,这些极大增加了代码的编写难度,同时带来很多的crash。 同时大量的delegate是unretain的,如果忘记在dealloc中主动设置为空,将带来野指针的隐患。由于dealloc是一个线程不安全的 ...
分类:
编程语言 时间:
2017-01-12 10:06:43
阅读次数:
292