带const和引用的变量声明

时间:2014-07-30 07:57:47

标签: c++ c++11 const

我对带引用的变量声明感到困惑。我读了一些页面,这让我更加困惑,所以我更喜欢在这里问。

我在C ++访谈中被问过4个问题;哪一个是错的?为什么?

(1) int & n;
(2) const int & n=15;
(3) float x; const int & n =x;

有人可以解释哪个不正确,为什么?

2 个答案:

答案 0 :(得分:2)

必须始终初始化参考。

答案 1 :(得分:2)

tl; dr必须在声明时(直接或在类初始化中)初始化引用。

int& n;

这使得引用n未初始化。必须在声明时初始化参考文献。

const int& n = 15;

这里没有错。对const int的引用初始化为15

float x; const int& n = x;

float没问题,但是未经初步宣传是一个坏主意。引用n初始化为x(浮点数/积分转换适用),它也不是一个好主意。