Reference To Array And Pointer To Array

数组引用和数组指针和两种非常优美而又用途广泛的语言设施,但很多其名气不是很大,因为这两设施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.14.2356.322.01.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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值