Effective C++ 导读 (Introduction) 术语(terminology) 声明式 (declaration) 是告诉编译器某个东西的名称和类型(type),但略去细节.以下都是声明式: extern int x; //对象(object)声明式 std::size_t numDigits(int number); //函数(function)声明式 class Weight; //类(class)声明式 template<typename T> //模板(template…
由于最近入职,公司安排自由学习,于是有时间将Effective Objective-C 2.0一书学习了一遍.由于个人知识面较窄,对于书中有些内容无法理解透彻,现将所学所理解内容做一遍梳理,将个人认为常用且重要的知识记录下来,以供日后参考. 1.在类的头文件中尽量少引入其他头文件 将头文件引入的时机尽量延后,在确有需要的时才引入(比如.m文件中).因为头文件中引入其他类头文件,会增加编译时间(可能是现在运行硬件比较好,所以对此点没啥感觉).在头文件中若要使用其他类,则用"向前声明"--…
1.在类的头文件中尽量少引入其他头文件 除非确有必要,否则不要引入头文件.一般来说,应在某个类的头文件中使用向前声明来提及别的类,并在实现文件中引入那些类的头文件.这样做可以尽量降低类之间的耦合(coupling). 有时无法使用向前声明(@class 类名)(.h文件在某个类引入类对象,.m实现#import类名),比如要声明某个类遵循一项协议.这种情况下,尽量把“该类遵循某协议”的这条声明移至“class-continuation分类”中.如果不行的话,就把协议单独放在一个头文件中,然后将其…
1. Literal Syntax NSString *someString = @"Effective Objective-C 2.0"; NSNumber *someNumber = [NSNumber numberWithInt:1]; <=> NSNumber *someNumber = @1; // syntax also works for expressions int x = 5;float y = 6.32f;NSNumber *expressionNum…
感觉自己最近提升很慢了.然后去找了一些面试题看看.发现自己自大了.在实际开发中,让我解决bug.编写功能,我有自信可以完成.但是对项目更深层的思考,我却没有.为了能进到自己的目标BAT.也为了让自己更进一步发展.目前是计划是先看<Effective Objective-C 2.0>.<Objective-C高级编程:iOS与OS X多线程和内存管理>2本书,并将AFN.YYCache.SDWebImage等开源源码再认真看一遍,并写下自己的读后总结. <Effective O…
前一段时间将<Effective Objective-C 2.0>这本书浏览了一遍,说一下几个觉得比较有意思的知识点. 感觉这本书是ios开发必看的一本书,最基础的,以及稍微高阶一点的oc技术基本都涉及到了.如果书中的涉及的主题能够都掌握,那么绝对可以宣称自己是一个高级oc使用者. __objc_msgSend__ (原书Item 11) 如果有一个oc的方法调用id returnValue = [someObject messageName:parameter],那个这个调用最终会被编译器转…
More Effective C++ 条款0,1 条款0 关于编译器 不同的编译器支持C++的特性能力不同.有些编译器不支持bool类型,此时可用 enum bool{false, true};枚举类型来模拟bool类型.这允许参数类型为int和bool的函数重载,但是这样做的缺陷是,对于内置的比较运算符,其仍返回int类型. f(int);f(bool); f(a < b); // 会调用f(int),但其实用户期望调用f(bool). 但是一旦改用支持bool类型的编译器,情况可能会发生改变…
一.Introduction(入门) 0.Introduction to Android(引进到Android) Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment. The documents listed in the left navigation p…
[Effective ObjectiveC 2.0 Note] 1.The memory for objects is always allocated in heap space and never on the stack. 2.对于[NSArray arrayWithObjects:obj1,obj2,obj3,nil].当使用方法时,如果obj2为空,则只有obj1被插入.录使用Literals时,@[objc3,obj2,obj3],如果objc2为空,会抛出异常.dictionary…
Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 作者:Matt Galloway(英) 译者:爱飞翔 出版社:机械工业出版社 出版年:2014-01 页数:209 定价:69.00元 ISBN:9787111451297 样章下载:http://wenku.it168.com/d_001381561.shtml内容简介:         本书是世界级C++开发大师Scott Meyers亲自担当顾问编辑的"Effective Software…