을 변경 내가 형 바의 참조 변수 등과 같은 생성자와 클래스 푸 말해봐 C++ 클래스에 참조 변수를 설정하고 이후
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;
}
,536,
setData()가 호출 된 후 f의 참조 변수에도 해당 데이터가 변경됩니까? 참조 변수 (초기화 중에 설정해야 함)가있는 클래스가 있기 때문에이 해결 방법을 시도하고 있지만 전역 액세스 가능 (실제로 Bar에 데이터를 설정하기 전에 선언해야 함)해야합니다.
주제를 조금 벗어나지 만 참조 변수를 포함하는 전역 적으로 사용 가능한 클래스는 우스운 냄새가납니다. 전역을 피할 수 없다면 const가 아닌 참조로 만들고 f.setData() 만 사용할 수 있습니까? – Zero