c++ - 在类成员函数中获取引用并将其分配给 C++ 中的类数据成员(引用)

标签 c++ c++11 pointers reference pass-by-reference

WRT 下面的代码,Abc 和 Xyz 是 2 个类。

我在 DoOperation(Xyz& temp) 中得到一个引用,并想将它分配给一个类数据成员,即 mem1,以便该引用可以被其他成员函数使用,如 DOOperation_2()、DOOperation_3() 等。

我知道我们不能在没有初始化的情况下在 C++ 中声明引用。但是我如何在 C++ 中处理这种情况?

class Abc
{
public:
    Xyz& mem; //ILLEGAL IN C++
     void DoOperation(Xyz& temp)
     {
        mem = temp;
     }   
     void DOOperation_2()
     {

     }
     DOOperation_3()
     {

     }


};

最佳答案

很简单:使用指针。与引用不同,指针是可赋值的。

class Abc
{
public:
     Xyz* mem1;
     void DoOperation(Xyz& temp)
     {
        mem1 = &temp;
     }   
};

关于c++ - 在类成员函数中获取引用并将其分配给 C++ 中的类数据成员(引用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45035234/

相关文章:

c++ - 代码段错误

c++ - 输出到 stdout/cout/etc 的进程间同步

c++ - 是否可以在同一个类中创建一个类的实例?

C 指向 Swift 指针的指针

c - 扫描目录程序-编译错误

c++ 为什么这个例子中的构造函数被调用了两次?

c++ - 替换循环以计算符合条件的元素数

c++ - 如何将条件变量对象插入到 Vector 中?

C++ 元函数,它确定一个类型是否可以为提供的参数调用

c - 论点中的指针,&符号?