KVC,即NSKeyValueCoding,通过字符化名字作为Key来访问对象属性的机制。本质上,KVC在某种程度上提供了访问器的替代方案,只要是有可能KVC尽量使用访问器方法。以返回对象属性key例,KVC按如下顺序查找返回值:1、-()getKey访问器方法2、-()key3、调用valueFo...
分类:
其他好文 时间:
2014-07-16 21:06:26
阅读次数:
149
经验:避免返回handles(包括 references、指针、迭代器)指向对象内部。遵守这个条款可增加封装性,
帮助 const 成员函数的行为像个 const,并将发生“虚吊号码牌”(dangling handles)的可能性降至最低。
示例:
class Point{
public:
Point(int x, int y);
//...
void setX(int newVal);
void setY(int newVal);
//...
};
struct RectData{
Point...
分类:
编程语言 时间:
2014-07-10 22:56:05
阅读次数:
230
1.autorelease方法的基本作用 给对象发送一条autorelease消息, 会将对象放到一个自动释放池中 当自动释放池被销毁时,会对池子里面的所有对象做一次release操作 会返回对象本身 调用完autorelease方法后,对象的计数器不变autorelease的好处 :不用再关心对象...
分类:
其他好文 时间:
2014-07-10 16:35:51
阅读次数:
205
2014年7月7日 14:33:36函数定义在 system/core/common.php中使用方法是 load_class('Hooks', 'core'): 在core目录内寻找Hooks类,返回对象其中的core目录: 先在application/core下找Hooks.php文件,然后在s...
分类:
其他好文 时间:
2014-07-09 23:09:19
阅读次数:
217
前言:三种情况,引出问题new出来的对象需要释放,而释放时,如果有其他人引用了这个对象,再次使用这个对象时,则会导致无效指针报错。于是有了引用计数的施放管理机制。对于一个返回对象指针的方法。你若不看文档不看内部代码,你无法知道返回的这个指针需不需要你来释放。同样的对于将一个指针作为参数给一个方法后,...
分类:
其他好文 时间:
2014-06-20 23:38:58
阅读次数:
221
(一)
一定要避免传递一些references去指向其实并不存在的对象。
看下面这个类:
class Rational {
public:
Rational(int numerator = 0, int denominator = 1);
private:
int n, d;
friend const Rational operator*(const Rat...
分类:
编程语言 时间:
2014-06-16 19:09:14
阅读次数:
269
pack:数据装入一个二进制字符串http_build_query: 将数组转化成URL
GET参数的形式。get_class:返回对象的类名,注:即使是在父类方法中调用也是返回子类的类名。get_parent_class:返回对象或类的父类名。call_user_func:调用第一个参数所提供的用...
分类:
Web程序 时间:
2014-06-02 19:17:03
阅读次数:
310
条款21:必须返回对象时,别妄想返回其reference
引用只是对象的一种别名当使用引用的时候,请确认他的另一个身份在哪?...
分类:
其他好文 时间:
2014-05-31 21:49:07
阅读次数:
218
在深入C++对象模型中,对于形如CObj obj1 =
Get(obj2);的形式,编译器会在将其改变为如下Get(obj, CObj&
obj1);将赋值操作符左边的变量作为函数的一个引用参赛,在函数内部改变其值;如下#include "stdafx.h"#include using
namesp...
分类:
编程语言 时间:
2014-05-23 09:38:25
阅读次数:
302
Linq 本质是C#的一系列扩展方法Linq 延迟执行
(Lambda表达式也有该特性,使用时得特别注意) 调用表达式时,查询不会立即生效,只有当返回对象被使用时,查询才会生效。
当返回对象被多次调用时,每次查询都会生效,即返回对象为最新数据,而不是上次查询的缓存(使用不当,会造成资源的浪费...
分类:
其他好文 时间:
2014-05-19 09:44:42
阅读次数:
208