题
我对带有引用的变量声明感到困惑。我读了一些页面,这让我更加困惑,所以更喜欢在这里问。
我在一次C++面试中被问了4个问题;其中哪一个是错的,为什么?
(1) int & n;
(2) const int & n=15;
(3) float x; const int & n =x;
有人能解释一下这是不正确的,为什么?
解决方案
tl;dr引用必须在声明时初始化(直接或在类初始化中)。
int& n;
这留下了参考 n
未初始化。引用必须在声明时初始化.
const int& n = 15;
这里没有错。对a的引用 const int
被初始化为 15
.
float x; const int& n = x;
该 float
是好的,但不被初始化是个坏主意。参考书 n
被初始化为 x
(浮点数/积分转换适用),这也不是一个好主意。
其他提示
必须始终初始化引用。
不隶属于 StackOverflow