一,C语言更多使用指针,c++更多实用应用,使用引用更安全和自然.
二,使用引用形参返回额外信息(使用)
通过返回迭代器,迭代器所指的对象则是额外返回的信息.
三,利用const引用避免复制
如果使用引用形参的唯一目的是避免复制实参,则应将形参定义为const引用.
四,传递指向指针的引用:
Void ptrswap(int *&v1, int *&v2)
{ int *tmp = v2;
V2 = v1;
V1 = tmp;}
/*交换两个指针指向的地址*/
五,vector和其他容器类型的形参
同样为了避免复制形参,通过传递迭代器来传递容器
void print(vector<int>::const_iterator beg,
vector<int>::const_iterator end)
{/*….*/}
六,数组形参
Void prinvalue(int *) {/*…*/}
Void prinvalue(int[]) {/*…*/}
Void prinvalue(int[10]) {/*…*/}
//编译器不检查长度,使用时超出范围也合法,但调用时会错误
三个定义等价,形参类型均为int*.
数组实参传递时默认传入指针,形参副本复制的是指针的值,通过形参的操作都在对数组本身进行操作.
七.通过引用传递数组
void printValue(int (&arr)[10]) {/*…*/}
引用含有10个元素的数组.
八,多维数组的传递.
Void prinvalue(int (*matrix)[10], int rowSize) {/*…*/} //圆括号不可少.下标操作符具有更高优先级
Void prinvalue(int matrix[][10], int rowSize) {/*…*/}