gpt4 book ai didi

c++ - 为什么引用变量需要在定义时初始化?

转载 作者:太空狗 更新时间:2023-10-29 23:49:49 25 4
gpt4 key购买 nike

我已经尝试四处寻找答案,但到目前为止还没有成功。我的问题是——为什么引用变量在定义时需要初始化?是技术原因,还是标准不允许的事情?

以这段代码为例:

int number = 42;
int& numberRef;
numberRef = number;

上面是不允许的,但是下面的代码是:

int number = 42;
int& numberRef = number;

为什么编译器不能像对待未初始化的指针一样对待未初始化的引用变量?我在这里遗漏了什么吗?

最佳答案

如果一个引用是未初始化的,就没有办法初始化它,因为任何尝试分配给一个引用总是分配给它的引用。

int& numberRef;     // pretend this is allowed
numberRef = number; // copies number into some random memory location

关于c++ - 为什么引用变量需要在定义时初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36558101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com