C++supplement之以数组作为形参的函数

数组的两个特性:不允许拷贝数组;使用数组时通常会将其转换成指针。

故,因为不能拷贝数组,所以无法以值传递的方式使用数组参数;因为数组会转换成指针,所以为函数传递一个数组时,实际上传递的是指向数组首元素的指针。也正因为是传递的指针,所以所调用的单数部分无法知道数组的实际长度,所以,应该给调用函数提供相应的信息。常用的方式有:

a、使用标记指定数组长度:即给数组设计一个结束的标记,且该标记不会与普通数据混淆;

b、使用标准库规范:传递数组的首尾指针begin(数组名),end(数组名);

c、显示传递一个表示数组大小的参数


Tips:下图中的第一种其本质是定义了一个数组,数组中的每个元素是指向整型的指针;第二种是定义了一个指针,该指针是指向一个含有十个元素的数组。

你可能感兴趣的:(C++supplement之以数组作为形参的函数)