Item06.数组形参 Array Formal Arguments
2005-04-08 17:20
162 查看
Item06. Array Formal Arguments
谨慎使用
------------------------------------------
退化(decay):数组自动地转化为指向其首元素的指针
---------------------------------------------
1、当用数组作为函数的形参时,数组的边界信息就丢失了,所以无需指定数组的大小。
void average( int ary[] ); //int* ary
2、若要显式地指定形参数组的大小,要使用引用
void average( int (&ary)[12] ); //此时只能传入大小为12的int数组
更通用地,可以使用模板:
template <int n>
void average( int (&ary)
);
3、传统方法
void average_n( int ary[], int size );
4、使用STL容器,如vector
void average(std::vector<int> ary);
5、多维数组形参与一维数组形参类似,只不过是数组退化为指向数组的数组.
void process( int ary[][20] ); //int (*ary)[20]
template <int n, int m>
inline void process( int (&ary)
[m] )
{ process_2d( &ary[0][0], n, m ); }
谨慎使用
------------------------------------------
退化(decay):数组自动地转化为指向其首元素的指针
---------------------------------------------
1、当用数组作为函数的形参时,数组的边界信息就丢失了,所以无需指定数组的大小。
void average( int ary[] ); //int* ary
2、若要显式地指定形参数组的大小,要使用引用
void average( int (&ary)[12] ); //此时只能传入大小为12的int数组
更通用地,可以使用模板:
template <int n>
void average( int (&ary)
);
3、传统方法
void average_n( int ary[], int size );
4、使用STL容器,如vector
void average(std::vector<int> ary);
5、多维数组形参与一维数组形参类似,只不过是数组退化为指向数组的数组.
void process( int ary[][20] ); //int (*ary)[20]
template <int n, int m>
inline void process( int (&ary)
[m] )
{ process_2d( &ary[0][0], n, m ); }
相关文章推荐
- Item06.数组形参 Array Formal Arguments
- Item06.数组形参 Array Formal Arguments
- Array.prototype.slice.apply(arguments) 将函数参数转化为数组
- Array.prototype.slice.call(arguments) 类数组转成真正的数组
- 将函数的实际参数转换成数组的方法,习惯用Array.prototype.slice.call(arguments)
- 伪数组转为数组 Array.prototype.slice.call(arguments)
- 【笔记】js Array.prototype.slice.call(arguments) 将函数的参数转换为数组方法的见解
- Array.prototype.slice.call(arguments,1),类数组转化为数组
- 转对象(含length属性)成数组Array.prototype.slice.call(arguments)
- php合并数组array_merge函数运算符加号与的区别
- 了解PHP中的Array数组和foreach
- 试分析如何把数组array中的所有元素循环右移p位
- LeetCode | Merge Sorted Array(归并有序数组)
- 回文数组(Rotate Array (JS))
- C# 一个字符串是否在另外一个字符串数组里 Array.Exists 的用法 Array.IndexOf 用法
- 072.Traverse Array 使用指针遍历数组
- [LeetCode] K-diff Pairs in an Array 数组中差为K的数对
- 2017/12/30Java基础学习——复制数组のSystem.arraycopy()方法讲解
- 数组函数array_key_exists的介绍
- JS中数组Array的用法