- 博客(34)
- 收藏
- 关注
原创 SRP
(一)概念:1.单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。2.职责:变化的原因。如果你能够想到多余一个的动机去修改一个类(修改一个类的代码去满足需求),那么这个类就具有多于一个的职责。(二)解释1.如果修改一个类,那么首先这个类需要重新编译,同时所有用到这个类的其他类需要重新链接。如果这个类的接口修改了,那么所有用到这个接口的其他类也需要修改,也就是说需要重新编
2016-07-05 14:50:06
538
转载 object-c内存布局
http://www.cnblogs.com/csutanyu/archive/2011/12/12/Objective-C_memory_layout.html
2016-03-16 00:02:01
301
原创 内存管理机制
(一)对象所有权:1.概念1.某个函数或者方法有一个指向对象的指针,则称该指针拥有对象。2.某个对象的成员变量指向另一个对象,如car有一个变量指向engine,则称该对象(car)拥有对象(engine)2.对象所有权决定了对象的释放与否1.这谁的啊?没人要我可扔了。(没有拥有者,就应该将其释放)2.有一天我重构了自己模块内的代码,发现有一个接口没必要使用了,那么可以删掉
2015-10-20 10:02:02
372
原创 Foundation kit介绍
(一)结构:AppKit UIKit Foundation(OC,NS*) core Foundation(C,CF*)(二)数据类型:1.NSRange:1.1定义:typedef struct _NSRange{unsigned int location;unsigned int length;}NSRange;
2015-10-14 21:33:16
346
原创 简介
(一)关于cocoa和cocoa-touch:前者针对os x系统,后者针对ios。它们都是用oc写的。cocoa组成:Foundation和Application Kit(AppKit),以及一些支持性的框架。Foundation框架的主头文件为Foundation.h,此头文件包含了Foundation框架所有的头文件,因此通过#import就可以使用Foundation框架的所有
2015-10-10 15:15:37
294
原创 简介
(一)XCODE使用:1.项目导航面板中的组只用来整理文件,与文件系统无关。2.工程:new->project->ios->application->...3.文件:new->file->iOS->cocoa touch->...,勾选With XIB for user interface,会创建xib文件,此文件可以和controller关联。(二)MVC概念应用创建
2015-10-09 16:52:09
249
原创 关于敏捷开发
最初的设计总是应该力求简洁明了,完全不需要未雨绸缪。然而,新的需求总是会不期而遇。假如当前的设计很容易满足新需求,那么一切仍旧很美好。但是,假如当前的设计不太容易满足新的需求,那么摆在我们面前有两条路:一:给当前的设计打打补丁二:改进设计第一条路就像是打封闭针,管的了一时。当需求一次次袭来,补丁越打越多,将最终会导致设计臭不可闻,然后无可奈何的死去。第二条路就像是做个手
2015-03-24 22:20:39
251
原创 const使用
(一)const在c与c++中具有不同的含义:c:表示只读的变量,因此具有内存。c++:对于内置类型表示常量,如const int a = 10;int b = a;编译器见到const后,会直接编译int b =10;如果为非内置类型,意义跟c相同。(二):c++
2015-03-12 14:09:23
255
转载 想写程序吗?远离你的计算机!
想写程序吗?远离你的计算机! 我最近想明白了一些事情。最好的写程序的地方不是在你的计算机前,不是使用你的编译器、IDE或其它一些工具。这最好的地方是一个远离这些工具的场所 —— 是某个能让你认真的思考的地方。对于一个你很熟悉的编程语言,你很容易把你脑子里已
2015-03-12 10:22:33
267
转载 输入输出重定向
Linux环境中支持输入输出重定向,用符号来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>lee.dat 表示将错误信息输出到文件lee.dat中。同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现。Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所
2014-11-20 11:31:13
383
原创 图形学基本概念
1.opengl-es:OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。2.纹理:
2014-11-02 16:12:47
1952
转载 cocos2d-x屏幕适配
闲来无事,整理了一下cocos2dx的屏幕适配策略,本文适用于想快速理解cocos2dx适配的开发者。我们先假设:以854 * 480 的屏幕为标准进行开发,当然,这也就是cocos2dx所说的设计分辨率(Design Resolution)。先介绍几个cocos2dx的常用函数:CCEGLView::sharedOpenGLView()->setDesignResolut
2014-10-13 11:03:24
337
转载 CCRender使用
本文实践自 Ray Wenderlich、Ali Hafizji 的文章《How To Create Dynamic Textures with CCRenderTexture in Cocos2D 2.X》,文中使用Cocos2D,我在这里使用Cocos2D-x 2.1.4进行学习和移植。在这篇文章,将会学习到如何创建实时纹理、如何用Gimp创建无缝拼接纹理、如何混合阴影和光照到纹理上以显现逼真
2014-05-10 15:04:55
726
转载 android和ios的Socekt一些总结
android和ios的Socekt一些总结:Android: //建立Socket连接public boolean connect() throws IOException { LogUtils.LOGI(TAG, "Conect to socket in "); // Close socket first. clos
2014-04-20 23:38:48
418
转载 Cocos2d-x JSB + cocos2d-html5 跨平台游戏开发
Cocos2d-x JSB + cocos2d-html5 跨平台游戏开发(一)—— 引擎选择2014-02-01 00:48:26.entry-content ul, .entry-content ol {padding: 0 0 0 10px; } 写这个系列主要为了记录和总结使用Cocos2d-x JSB和Cocos2d-html5做游戏开发的过程中遇到的问题
2014-04-20 22:26:41
1503
原创 map使用
BaseInfo:(1)键值唯一约束:必须定义(2)map定义的类型:map::key_type 键的类型map::mapped_type 值的类型map::value_type pair类型(一)初始化1. mapm1;2. mapm2(m1);3. mapm3(b,e);(二)增1. m.insert(pair);返回一个pair对象,第一个参
2014-04-03 19:09:53
365
原创 C语言内存分配函数总结
(1)malloc(类型说明符*) malloc (size) 功能:在内存的动态存储区中分配一块长度为"size" 字节的连续区域,注意,内存里的数据可能是垃圾。函数的返回值为该区域的首地址。 “类型说明符”表示把该区域用于何种数据类型。(类型说明符*)表示把返回值强制转换为该类型指针。“size”是一个无符号数。(2)calloc calloc 也用于分配内存空间。调用形式:
2014-04-03 00:55:20
439
原创 string使用
与vector的比较:(1)不支持以栈的方式操纵容器(2)在string类型中不能使用front(),back(),pop_back()操作(一)初始化(1)string s1;//用已存在串和子串作初始化式(2)string s2(s1);(7)string s(s2,pos2);创建一个string对象,它被初始化为s2中从下表pos2开始的字符的副本(8)
2014-04-02 23:33:37
333
原创 vector使用
(一)初始化5种vector vec1;vectorvec2(vec1);vectorvec3(10);vectorvec4(10,1);vectorvec5(iter1,iter2);(二)增4种加一个元素2种:vec.push_back(t);vec.insert(p,t);迭代器前加一个元素t//加一段元素vec.insert(p,n,t)
2014-04-02 17:59:20
359
转载 求质数算法的N种境界 (N > 10)
求质数算法的N种境界 (N > 10)分类: 性能优化2011-12-01 22:21 17165人阅读 评论(48) 收藏 举报算法存储语言工作byte优化目录(?)[+]★引子 前天,俺在《俺的招聘经验[4]:通过笔试答题能看出啥?》一文,以"求质数"作为例子,介绍了一些考察应聘者的经验。由于本文没有政治敏感内容,顺便就转贴到俺
2014-03-19 20:42:48
362
转载 斐波那契查找
Is Fibonacci Search really "faster" than Binary Search?申明:本文讨论的搜索对象为有序数组,不是数学上讨论的函数。1. 介绍对经过各种Sort算法排好序之后的有序数组进行检索的Search算法大致有以下三种:线性查找 O(n),二分查找 O(log(n)),斐波那契查找 O(log(n))。
2014-03-19 04:03:12
505
转载 斐波那契数列
转自http://www.cnblogs.com/CCBB/archive/2009/04/25/1443441.html斐波那契数列算法分析背景:假定你有一雄一雌一对刚出生的兔子,它们在长到一个月大小时开始交配,在第二月结束时,雌兔子产下另一对兔子,过了一个月后它们也开始繁殖,如此这般持续下去。每只雌兔在开始繁殖时每月都产下一对兔子,假定没有兔子死亡,在一年后总共会有多少对兔子?
2014-03-19 04:00:23
422
原创 chapter1
(一)域名系统:(1)域名系统是一个分布的数据库,它用来提供主机名和IP地址之间的映射关系。任何应用程序都可以调用一个标准的库函数来查看给定名字的主机的IP地址。类似的,系统还提供一个逆函数。给定一个IP地址,(2)TCP segment(报文段),IP datagram(数据报),frame(帧)(3)IP 协议域(8位):ICMP:1,,IGMP:2,TCP:6,UDP:17
2014-02-26 11:47:50
396
原创 chapter16 模板与泛型编程
16.1模板定义模板:函数模板和类模板;类型模板和非类型模板template(1)inline函数模板templateinline T Min(T& a,T& b);16.2定义类模板(1)模板形参为类型形参和非类型形参两种templateclass Test{public: Test() { Init(); } ~Test() { ;
2014-02-19 13:51:12
433
原创 类,对象,成员函数使用实质
class CTest{ public: Ctest(){} ~CTest(){} static int GetAAA() { return AAA; } int GetB() { return b; } int GetSum() { return a + b + AAA; } public: int a; int b; static int AA
2014-02-13 14:44:40
534
原创 C/C++ static使用(基于VS2010)
(一)在C语言中静态变量永远只能初始化一次,但是可以多次赋值(1)局部静态变量,存在于全局数据区example1:#include int function(){ static int a = 10; a++; return a;}int main(){ for(int nIndex = 0;nIndex<10;nIndex++) { printf("a =
2014-02-13 11:08:12
1224
原创 chapter 12:类
类的定义和声明(1)注意编程角色的不同类别:设计类的接口时,设计者应该考虑的是如何方便类的使用;使用类的时候,设计者就不应该考虑类如何工作。(2)构造函数和析构函数都可以是私有的,但是这样的话便无法在类之外的地方显示的调用new和delete,因为new和delete会调用构造函数和析构函数。(3)使用类型别名来简化类:定义自己的局部类型名字。如:public:
2014-02-12 14:36:45
468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人