用const和引用声明变量

Variable declaration with const and reference

本文关键字:声明 变量 引用 const      更新时间:2023-10-16

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

我在一次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;

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

float x; const int& n = x;

float是可以的,但是不初始化是一个坏主意。引用n被初始化为x(浮点/整数转换适用),这也不是一个好主意。

引用必须始终初始化。