gpt4 book ai didi

c++ - 数组访问的返回类型

转载 作者:行者123 更新时间:2023-11-28 05:21:32 25 4
gpt4 key购买 nike

编译如下:

int main() {
int v[] = {0,1,2};
int a = v[0];
int& b = v[0];
}

数组访问(括号表示法)怎么可能在一行中返回一个 int 类型,而在另一行中返回一个 int 引用?那么数组括号访问的返回类型到底是什么?

我是c++新手,请原谅我的无知。

最佳答案

b是对v[0]的引用,所以他们的地址是一样的,也就是说b >v[0]。但是 a 是另一个变量,所以 a 正好等于 v[0],但是 a 不是v[0],它们的地址不一样。

对于你的问题,如果你有一些c语言的经验,你可以很容易地写出这样的表达式如果(&v[0]==&b)
printf("b 是对 int 的引用");

if(&v[0]!=&a)
printf("a 是一个整数");

判断。

关于c++ - 数组访问的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41405325/

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