Studiuję 4. wydanie C++ Primer przez Stanley B. Lippman. W sekcji 12.4.1, podczas rozmowy autorem około inicjalizatorów konstruktora, daje ten przykład:Czy ten inicjator konstruktora powoduje zwisające odwołanie?
class ConstRef {
public:
ConstRef(int ii);
private:
int i;
const int ci;
int &ri;
};
// OK: explicitly initialize reference and const members.
ConstRef::ConstRef(int ii): i(ii), ci(i), ri(ii) { }
Podejrzewam, że może to spowodować dangling odniesienia ri
wskazując na ii
, który jest tymczasowy. Czy mam rację?
szczęk ++ jest realne pomocne: 'ostrzeżenie: wiązanie członek odniesienia„ri”stos przydzielone parametru„II”[-Wdangling-field]' – Mat
Po google wokół, aby zobaczyć, jak to jest, że wygląda o wadzie naprawdę świetnie. – chanp