我碰到以下代码,好吧,不完全,但密切。 兴趣点是(严重缩写代码)中的第二行。 为什么要初始化someReference'someReference'?其他则可以使用。运算符而不是 - >? ptr这是一样好,不是吗? (它的线程方法中,如果有什么差别)(除非它们是外部的)他们声明时里面的c + +线程,初始化参考
// this line, why? SomeClass & someReference(*ptrThis); unsigned SomeClass::someThread(void *ptr) { SomeClass *ptrThis = reinterpret_cast<SomeClass*>(ptr); SomeClass & someReference(*ptrThis); // some other code }
+1,同时也可以防止代码试图释放与对象相关的内存什么的代码片段了。 – 2010-01-19 22:42:26