我正在学习 Stanley B. Lippman 的 C++ Primer 第 4 版。在 12.4.1 节,作者谈到构造函数初始化器时,给出了这样的例子:
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) { }
我怀疑这可能会导致悬空引用 ri
指向 ii
,这是一个临时的。我说的对吗?
最佳答案
我也这么认为。试试这个
ConstRef::ConstRef(int ii): i(ii), ci(i), ri(i) { }
关于c++ - 此构造函数初始化程序是否会导致悬空引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10753042/