2012-05-25 56 views
14

我正在研究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,这是一个临时的。我对吗?

+16

铛++是真正有帮助的:'警告:绑定参考成员“里”到堆栈中分配参数“II” [-Wdangling场]' – Mat

+0

已经GOOGLE了四周,看看是什么样子的,错误报告长相非常好。 – chanp

回答

13

我也这么认为。试试这个

ConstRef::ConstRef(int ii): i(ii), ci(i), ri(i) { } 
+0

感谢您的快速回复!所以我现在更确定:) – chanp

相关问题