Ich habe eine einfache Frage bezüglich Referenz-Update in C++. Betrachten Sie unter C++ Code:Referenz-Update in C++
class A
{
int b;
public:
int& setb();
int getb();
A();
A &operator= (const A &t)
{
cout<<"Assignment called"<<endl;
}
A(int i):b(i) {
cout<<"Copy contructor called"<<endl;
}
};
int A::getb()
{
cout<<this->b<<endl;
}
int& A::setb()
{
return b;
}
A::A()
{
cout<<"constructor called"<<endl;
}
int main()
{
A a;
cout<<"About to set reference"<<endl;
a.setb()=5;
a.getb();
return 0;
}
Wenn ich b
über Referenz aktualisieren, wie wird der Wert kopiert? Gibt es einen Standard-Kopierkonstruktor, der aufgerufen wird?
Eine Referenz erstellt keine Kopie. – Barmar
Eine Referenz ist im Wesentlichen ein versteckter Zeiger. – Barmar
aber in diesem Fall Wenn ich ein privates Mitglied der Klasse aktualisieren, sollte es von einem Objekt der Klasse richtig aktualisiert werden? –