【发布时间】:2010-12-20 18:38:46
【问题描述】:
我用 C 写了这个函数:
void *PWNRetain(void *object) {
PWNObject *obj = (PWNObject *)object; // <-- looks stupid, I know :)
obj->retainCount++;
return obj;
}
重要的是这将返回与其参数相同的指针。 obj 是否等于 object,还是我又犯了一个指针错误?谢谢。 :)
【问题讨论】:
-
您不需要返回该指针,只需将其设为
void PWNRetain(void* object)。 -
我确实需要返回那个指针。这就是我问这个问题的原因。
-
我只是想知道,为什么不把
return object;放在最后? -
@Dan,因为它在任何方面都无关紧要。
return obj;提供更小的代码,因此编译速度更快。 -
哦,好的。好吧,在这种情况下,您可以将
object重命名为o并执行return o;。更小的代码和更快的编译。 :p