在 C++ 中的类成员函数中传递当前对象的引用

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)

Bat*_*eba 5

您没有在调用站点注明传递引用,在那里您使用与常规传递值完全相同的语法。

在实际的函数中,你用&来表示参数是通过引用传递的。例如,考虑foo以 abar作为参考的函数:

void foo(bar& reference);
Run Code Online (Sandbox Code Playgroud)

然后您可以foo(*this)在呼叫站点使用,如果thisbar*(或相关的)类型。

  • 点个赞吧。感谢您指出我们从不“通过引用传递”,而是“通过引用传递” (2认同)