最近看了两本书,《Objective-C 高级编程,iOS与OS X多线程和内存管理》,《Effective Object-C2.0》。iOS开发必看的两本书,非常推荐。但是看内存管理的时候有一句话非常不理解:自己生成并持有对象,引用计数为1。后面还有一句:对象alloc的时候默认引用计数为1。自己 ...
分类:
移动开发 时间:
2017-08-31 16:18:40
阅读次数:
212
这是《Effective STL》笔记最后一期,不能涵盖全部内容,书后仍然有些附加内容,不在附加,有兴趣可以找原书来读读,一则是区域设置后的忽略大小写比较,另一则是MSVC4-5编译器下STL注意事项 条款41:了解使用ptr_fun、mem_fun和mem_fun_ref的原因 函数和函数对象总使 ...
分类:
其他好文 时间:
2017-08-30 21:41:15
阅读次数:
149
令operator= 返回一个reference to *this. Have assignment operators return a reference to *this. 赋值时,我们可以写成如下形式: int x,y,z; x=y=z=10; 这种连锁方式采用右结合方式,也就是 x=(y= ...
分类:
编程语言 时间:
2017-08-30 15:41:09
阅读次数:
148
简介 OC这门语言把很多事情从编译和链接阶段推迟到运行时处理。只要有可能,它就会采取动态运行时机制。这意味着这门语言不仅需要一个编译器还需要一个运行时系统来执行这些编译后的代码。这个运行时系统相当于OC语言的操作系统,它使得这门语言运转良好。 Runtime版本和平台 Objective-C run ...
分类:
其他好文 时间:
2017-08-30 15:39:35
阅读次数:
208
别让异常逃离析构函数 Prevent exceptions from leaving destructors 析构函数绝对不要抛出异常,如果一个被析构函数调用的函数可能抛出异常,那么析构函数应该处理这个异常并且不能抛出。 这里的理解是,如果一个析构函数抛出异常,会导致当前对象处于未定义状态或者导致程 ...
分类:
编程语言 时间:
2017-08-30 15:37:06
阅读次数:
109
绝不在构造/析构函数中调用virtual函数。 Never call virtual functions during construction and destruction. 在构造/析构函数中调用virtual函数,会导致链接失败,因为这里编译器不会执行多态操作,将虚函数调用传递到derive ...
分类:
编程语言 时间:
2017-08-30 15:34:02
阅读次数:
115
1: 实现 description 方法 NSlog 在输出自定义的类时, 只输出了 类名 和 对象的内存地址. 要想输出更为有用的信息也很简单, 只需要覆写 description 方法并将描述此对象的字符串 返回即可. - (NSString*)description{ return xxxxx ...
分类:
移动开发 时间:
2017-08-29 12:48:05
阅读次数:
248
1.《深入理解 Java 虚拟机:JVM 高级特性与最佳实践》 2.《HotSpot 实战》 3.《Java 并发编程实战》 4.《Java 多线程编程核心技术》 5.《Effective Java 中文版》 6.《深入分析 Java Web 技术内幕》 7.《大型网站技术架构 核心原理与案例分析》 ...
分类:
编程语言 时间:
2017-08-28 19:56:06
阅读次数:
161
<?php$url = urldecode($_REQUEST['url']);$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 200); curl_setopt($c ...
分类:
Web程序 时间:
2017-08-27 11:08:09
阅读次数:
180
1: 理解 属性 的概念 属性会自动生成存取方法, 可以利用点语法调用, 若不想编译器自动合成存取方法, 可以自己实现, 还有另外一种方法, 就是使用 @dynamic 关键字, 它会告诉编译器, 不要自动创建实现属性所用的实例变量 和 存取方法, 而且,在编译访问属性的代码时, 即使编译器发现没有 ...
分类:
移动开发 时间:
2017-08-25 14:02:16
阅读次数:
199