cod*_*ver 1 c++ pointers reference pass-by-reference c++11
就像this指针用于将指针传递给当前对象一样,如何传递对当前对象的引用?
class UseMe
{
public:
UseMe_funcReference(base&);
UseMe_FuncPointer(base *)
}
class base{
..........
}
class Abc:public base
{
public:
friend UseMe;
UseMe innerObj;
Func1()
{
(this->innerObj).UseMe_funcPointer(this); // This passes pointer to current object
(this->innerObj).UseMe_funcReference(HOW_TO_PASS_REFERENCE_TO_CURRENT_OBJECT);
}
}
Run Code Online (Sandbox Code Playgroud)
您没有在调用站点注明传递引用,在那里您使用与常规传递值完全相同的语法。
在实际的函数中,你用&来表示参数是通过引用传递的。例如,考虑foo以 abar作为参考的函数:
void foo(bar& reference);
Run Code Online (Sandbox Code Playgroud)
然后您可以foo(*this)在呼叫站点使用,如果this是bar*(或相关的)类型。