请教一个问题,c++不能建立对数组的引用,但是例程里却用了
c++吧
全部回复
仅看楼主
level 3
846148084 楼主
请教一个问题,c++不能建立对数组的引用,但是例程里却用了
2019年07月03日 09点07分 1
level 8
书名和作者是啥
2019年07月03日 10点07分 2
就这本
2019年07月03日 10点07分
@846148084 明确的告诉你书上说法有问题,应该是不能建立引用的数组,数组的引用是可以的,下面例子错误的那个是引用数组,确实不行。你说的那个地方可以,因为那是数组引用。实际上是int (&arr)[8],因为用了typedef所以不用括号。
2019年07月03日 10点07分
@⚡射命丸文⚡ 引用数组是指很多个引用吗?第一张图片上只有&re一个引用啊,怎么有多个引用
2019年07月03日 12点07分
@846148084 哦对,第一个就是个char引用,我看错了。不过说法依然是错误的,不影响结论。char引用引用char数组更加错了,主要他这句话不能这样说,数组是可以有引用的,只不过不能用char引用来引用数组,要用数组引用,这点不同于指针。
2019年07月03日 12点07分
level 3
846148084 楼主
这本
2019年07月03日 10点07分 3
level 6
下面的三种写法是可以运行的
2019年07月05日 02点07分 4
level 12
可以吧
没记错的话是int (&var)[size];
2019年07月05日 02点07分 5
level 1
可以引用数组,这个地方是错的,可以查看C++primer,里面有讲
2019年07月06日 15点07分 6
level 7
这个引用我觉得没错
这个传参过程和第一张图的错误情况不同
传参过程
int (&x)[8]=a;
//其实写的更明白点是
int (&x)[8]=a[0]
2019年07月06日 17点07分 7
level 11
[呵呵]
2019年07月06日 17点07分 9
level 14
明显书上是错的。
你可以写 auto &ref = c; ,记得不要用古代 C++ ,至少用 C++11 。
如果一定要用古代 C++ 可以写 char (&ref)[6] = c;
2019年07月06日 17点07分 10
level 12
2019年07月07日 01点07分 11
就是啊,如你所说,在建立引用的数组时候,直接初始化不行么?你后面的我没看明白,谢谢指点
2020年02月14日 04点02分
@选择向上678 不是写了吗,建立引用的数组会报编译错误。 下面的未注释内容 是 ①的测试举例
2020年02月15日 06点02分
level 5
有些书就是瞎写,还有c++ primer plus上也是这么写的
2019年11月13日 11点11分 12
level 6
我以前也看书的时候纠结这些,后来发现写了多少年c++没见过一次有人用数组的引用的。。。或者说,已经很少在代码里见到数组了。。。
我深刻得感觉以后需要一本书“实用的c++”,什么几把乱七八糟的怪异特性都别讲。***浪费时间
2020年02月14日 11点02分 13
C++20 就有个新函数 to_array 接受数组引用[滑稽]
2020年02月15日 07点02分
1