C++类中设置引用变量,然后进行更改

C++ setting reference variable in a class and afterwards changing

本文关键字:然后 变量 设置 引用 C++      更新时间:2023-10-16

假设我有一个类Foo,它有一个Bar类型的引用变量和一个构造函数,如下所示:

class Foo {
  public:
    Bar& m_b;
    Foo(Bar& b);
}

福.cpp

Foo::Foo(Bar& b) : m_b(b) {
}

在一个单独的课程中,我有:

// global 
Bar b; 
Foo f(b);
int main() {   
  b.setData();       // actually set some values...
  f.m_b.showData();  // will it show the change?
  return 0; 
}

在调用 setData() 后,f 中的引用变量也会有数据的变化吗? 我正在尝试这个解决方法,因为我有一个具有引用变量(必须在初始化期间设置)的类,但我需要它是全局可访问的(在实际设置数据之前声明在 Bar 中

)。

是的。 f.mbb都指同一个对象。

是的,会的。引用只是一个别名。 f::m_bb完全相同的对象

相关文章: