博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年11月3日

摘要: 转自:http://blog.csdn.net/zlaxr8888/article/details/4131897写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧./******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和空间上的一个权衡。对齐节省了时间。假设一个体系结构的字长为w,那么它同时就假设了在这种体系结构上对宽度为 阅读全文

posted @ 2012-11-03 17:05 酸梅拯救地球 阅读(133) 评论(0) 推荐(0)

2012年11月1日

摘要: 1.set 和multiset容器的内部结构通常由平衡二叉树(balanced binary tree)来实现。当元素放入容器中时,会按照一定的排序法则自动排序,默认是按照less<>排序规则来排序。这种自动排序的特性加速了元 素查找的过程,但是也带来了一个问题:不可以直接修改set或multiset容器中的元素值,因为这样做就可能违反了元素自动排序的规则。如果你希望修 改一个元素的值,必须先删除原有的元素,再插入新的元素。2.对于vector来说,每一次删除和插入,指针都有可能失效,调用push_back在尾部插入也是如此。因为为了保 证内部数据的连续存放,iterator指向的 阅读全文

posted @ 2012-11-01 21:46 酸梅拯救地球 阅读(135) 评论(0) 推荐(0)

2012年10月24日

摘要: 1. 系统调用app的main函数2. main函数调用UIApplicationMain.3. UIApplicationMain创建shared application instance, UIApplication默认的instance.4. UIApplicationMain读取Info.plist找到主nib文件, 加载nib,把shared application instance 设为nib的owner.5. 通过nib文件,创建app的独立UIWindows object.6. 通过nib,实例化了程序的AppDelegate object.7. app内部启动结束,appli 阅读全文

posted @ 2012-10-24 22:46 酸梅拯救地球 阅读(398) 评论(0) 推荐(0)

2012年6月16日

摘要: strcpy和memcpy的区别strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。void *memcpy( void *dest, const void *src, size_t count );char * strcpy(char * dest, const c 阅读全文

posted @ 2012-06-16 10:26 酸梅拯救地球 阅读(200) 评论(0) 推荐(0)

摘要: 原文出处:http://bennypan1980.blog.163.com/blog/static/87919823201011142433257/引言 一直以来都没有写过一篇关于概念性的文章,因为我觉得这些概念性的东西书本上都有并且说的也很详细写来也无用,今天突发奇想想写一写,下面就和大家讨论一下虚基类、虚函数与纯虚函数,一看名字就让人很容易觉得混乱。不过不要紧待看完本文后你就会理解了。正文 虚基类 在说明其作用前先看一段代码classA{public:intiValue;};classB:publicA{public:voidbPrintf(){cout<<"This 阅读全文

posted @ 2012-06-16 00:56 酸梅拯救地球 阅读(207) 评论(0) 推荐(0)

2012年6月13日

摘要: 1.Objective-C中每个对象都对应着他们自己的持有计数(Retain Count),持有计数可以理解为一个整数计数器,当使用alloc方法创建对象的时候,持有计数会自动设置为1。当你向一个对象发送retain消息 时,持有计数数值会增加。相反,当你像一个对象发送release消息时,持有计数数值会减小。当对象的持有计数变为0的时候,对象会释放自己所占用的内 存。2.调用实例的release方法后,此属性减一,减到为零时对象的dealloc方法被自动调用,进行内存回收操作,也就是说我们永不该手动调用对象的dealloc方法。 ?????3. a,alloc, allocWithZone, 阅读全文

posted @ 2012-06-13 23:40 酸梅拯救地球 阅读(269) 评论(0) 推荐(0)

2012年6月7日

摘要: Cocoa中的每个对象都拥有一个引用计数器,用来维持自己的生命周期。每当一个对象需要“使用”或“占有”另一个对象的时候,它通过向该对象发送一个 retain消息来对该对象的引用计数器进行自增,而当它不再需要(或使用完)该对象的时候,它通过向该对象发送一个release消息来对该对象的引用 计数器进行自减。当一个对象的引用计数器自减到零时,该对象就会被释放。下面我们来看一个例子,例如:NSString *aString = [[NSString alloc] initWithString:@"This is a demo."];这段代码会创建一个NSString对象,并对其进 阅读全文

posted @ 2012-06-07 21:32 酸梅拯救地球 阅读(264) 评论(0) 推荐(0)

摘要: 为了解决“胶水代码”问题,Cocoa提供了多个内部机制:Key-Value Coding(KVC)、Key-Value Observing(KVO)、Key-Value Binding(KVB)。这些机制通过规定了一组通用的Cocoa命名法则、调用规则等,实现了如下功能:1. 使用一对高度规范化的访问方法,获取以及设置任何对象的任何属性的值(所谓的属性既可以是个实实在在的成员变量,也可以是通过一对成员方法所抽象出的该对象的一个性质)。2. 通过继承一个特定的方法,并且指定希望监视的对象及希望监视的属性名称,就能在该对象的指定属性的值发生改变时,得到一个“通知”(尽管这不是一个真正意义上的通知) 阅读全文

posted @ 2012-06-07 21:28 酸梅拯救地球 阅读(176) 评论(0) 推荐(0)

2012年2月27日

摘要: 一片不错的博客 关于C++虚函数http://blog.csdn.net/haoel/article/details/1948051/http://www.cnblogs.com/realyan/archive/2011/07/14/2106339.html 阅读全文

posted @ 2012-02-27 13:23 酸梅拯救地球 阅读(144) 评论(0) 推荐(0)

2012年1月12日

摘要: 由于阅读的资料较少,先写下现在的肤浅认识,待以后有更深层次的理解再修改。关于垃圾回收机制,本人现在知道的是三种。1.引用计数机制。(浅显的看了下Object-C语法,貌似其对象回用的是这种机制)2.标记-清理机制。(C采用了保守的标记-清理机制)3.java的自适应回收机制,综合用了引用计数,标记-清理,核心是停止-复制。 引用计数机制中每个对象都有一个引用计数器,当有对象指向该引用时,引用计数器加1.一个列表记录着对象和其引用数(估计组织成搜索树吧),垃圾回收期在程序的生命进程中一直修改引用计数器和遍历列表,出现循环引用相当麻烦。 标记-清理机制,对C来说从每个根节点(个人理解为进程虚拟地址 阅读全文

posted @ 2012-01-12 17:58 酸梅拯救地球 阅读(908) 评论(0) 推荐(0)