分类: C/C++
2009-05-20 10:30:01
传递数组长度的三种机制
1、提供一个含有数组长度的额外参数:void putValues( int[], int size );
2、将参数声明为数组的引用:void putValues( int (&arr)[10] );
当参数是一个数组类型的引用时,数组长度成为参数和实参类型的一部分,编译器检查数组实参的长度与在函数参数类型中指定的长度是否匹配
// 参数为10 个int 的数组
// parameter is a reference to an array of 10 ints
void putValues( int (&arr)[10] );//只接受10 个int的数组
int main() {
int i, j[ 2 ];
putValues( i ); // 错误: 实参不是 10 个 int 的数组
putValues( j ); // 错误: 实参不是 10 个 int 的数组
return 0;
}
3、使用抽象容器
void putValues(const vector