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

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

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

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

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

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


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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,545评论 1 51
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,398评论 0 20
  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 2,055评论 1 24
  • 不舍的离家孩子 一寸寸肝肠寸断 沙迷的眼 不掉落沙粒 只流泣滚烫的泪 我追求我的追求 你放弃你的拥有 偶尔有时 得...
    晚韵阅读 181评论 0 2
  • 感恩之言 今天是感恩节,我要感恩这一辈子的遇见…… 感恩爸妈给予的生命,感恩爸妈的...
    童辉连阅读 795评论 0 1