次のコードは安全ですか?
class B {
public:
int& b;
B (int& _b) :
b(_b) {}
};
B* foo() {
int a;
return new B(a);
}
fooによって返されるオブジェクト内の参照は(int aがスコープ外になるため)何も指しませんか、それともコンパイルはこれを理解しますか?
次のコードは安全ですか?
class B {
public:
int& b;
B (int& _b) :
b(_b) {}
};
B* foo() {
int a;
return new B(a);
}
fooによって返されるオブジェクト内の参照は(int aがスコープ外になるため)何も指しませんか、それともコンパイルはこれを理解しますか?