下面的代码安全吗?
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 超出范围)还是编译会解决这个问题?