《C++ primer》学习笔记之十九:奇怪的数组引用
来源:互联网 发布:博客源码资源站 编辑:程序博客网 时间:2024/06/05 14:48
数组的引用很奇怪,定义该引用时必须知道数组的大小,比如:
int ary; //compile error:数组大小未知
int ary0[0]; //compile error:数组大小未知
int ary2[2]; //ok.
int (&ary0R)[]; //error:对零大小的数组的引用非法。
int (&ary2R)[] = ary2; //error:对零大小的数组的引用非法。
int (&ary2R)[2]; //error:引用必须初始化
int (&ary2R)[2] = ary2; //Ok!
int ary3[3];
int (&ary2R)[2] = ary3; //error:无法从int[3]转化为int (&)[2]
int (&ary2R)[sizeof(ary2) / sizeof(*ary2)] = ary2; //Ok
//下面看引用作为函数的参数时:
void f(int a[]) {} //Ok. a实际上是个指针
f(arg2); //ok. arg2的长度为2,不限制参数的长度
void r(int (&ar)[]) {} //error. 对零大小的数组的引用非法。
void r2(int (&ar)[2]) {} //Ok.
r2(ary2); //Ok. 定义时引用颇多讲究,但使用起来两者可以互换
r2(ary2R); //Ok.
r2(ary3); //error:无法从int[3]转化为int (&)[2]
- 《C++ primer》学习笔记之十九:奇怪的数组引用
- C++Primer 学习笔记之指针和引用
- C Primer Plus学习 十九 指针和数组
- C++primer学习笔记--右值引用
- 《C++ primer》学习笔记之十六: typedef的奇怪的用法
- C语言学习笔记之奇怪的地址问题
- 《C++ primer》学习笔记之五:奇怪的控制台输入:cin
- c++primer笔记之数组与指针的一些总结
- c++primer学习笔记(4.1)数组
- c++primer学习笔记-----3.5数组
- C++primer学习笔记-----3.6多维数组
- C语言学习笔记----奇怪的数据类型
- C++Primer笔记--数组
- const 引用(c++primer笔记)
- C++primer学习笔记——引用和指针
- C++Primer学习笔记之二
- C++Primer学习笔记之三
- C++primer学习笔记之函数
- 《C++ primer》学习笔记之十四:c-style字符串的长度算‘/0’在内
- 《C++ primer》学习笔记之十五:四个cast
- 《C++ primer》学习笔记之十六: typedef的奇怪的用法
- 《C++ primer》学习笔记之十七:查看vc的c++标准库的结构
- 《C++ primer》学习笔记之十八:vc的常用快捷方式
- 《C++ primer》学习笔记之十九:奇怪的数组引用
- 如何让window服务进程中自动加载MYSQL服务
- 怎样把progressbar 放到 statusbar 中
- 《C++ primer》学习笔记之二十:引用详解1、2、3
- 在ListView列中插入其他组件
- 《C++ primer》学习笔记之二十一:有趣的变参函数
- 《C++ primer》学习笔记之二十二: 函数指针
- 《C++ primer》学习笔记之二十三: namespace的定义和使用
- FuctionMod.bas