/*
练习6.24:描述下面这个函数的行为。如果代码中存在问题,请指出并改正。
void print(const int ia[10])
{
for(size_t i=0; i!=10; ++i)
cout<<ia[i]<<endl;
}
函数的形参类型是指向数组的指针。编译器会忽略掉第一个维度。
const int ia[10], 等价于const int*
导致函数实际执行时,输出数组前10个元素。
函数的本义应该是对实参的维度进行控制,只接受纬度是10的数组。
改正:
void print(const int (&arr)[10])
{
for(auto elem:arr)
cout<<elem<<endl;
}
*/
#include "TouWenJian_6.h"
void print(const int (&arr)[10])
{
for(auto elem:arr)
cout<<elem<<endl;
}
int main()
{
int arr[10]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
print(arr);
return 0;
}
C++Primer第五版第六章练习6.24
最新推荐文章于 2024-10-16 10:13:45 发布