您的位置:首页 > Web前端

Reference To Array And Pointer To Array

2008-02-23 09:56 549 查看
数组引用和数组指针和两种非常优美而又用途广泛的语言设施,但很多其名气不是很大,因为这两设施C++中新引入的,大家一般不怎么注意的.

下面通过一小段代码,来展示其用法.


#include <iostream>




using namespace std;




template <class T, int size>


T _min(T (&r_a)[size]) // 函数模板的形参是数组引用




...{


T min_val = r_a[0];


for (int i = 1; i < size; ++i)


if (min_val > r_a[i]) min_val = r_a[i];




for (int i = 0; i < size; ++i)


r_a[i] = 1;




return min_val;


}




template <class T, int size>


T _min(T (&p_a)[size]) // 函数模板的形参是数组指针




...{


T min_val = (*p_a)[0];


for (int i = 1; i < size; ++i)


if (min_val > (*p_a)[i]) min_val = (*p_a)[i];




for (int i = 0; i < size; ++i)


(*p_a)[i] = 1;




return min_val;


}




int main()




...{




int a[] = ...{2,3,5,3,67,123,4};




double b[] = ...{2.1, 4.23, 56.32, 2.0, 1.2};




int (&ria)[5] = a; // 定义数组引用


double (*pda)[5] = &b; // 定义数组指针




for (int i = 0; i < 5; ++i)


cout << ria[i] << " "; // 使用数组引用


cout << " ";






for (int i = 0; i < 5; ++i) ...{


cout << (*pda)[i] << " "; // 数组指针


cout << " ";




cout << _min(a) << " "; // 数组引用作为函数的实参


cout << _min(&b) << " "; // 数组指针作为函数的实参




system("pause");


return 0;


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: