數組型參數和數組的區別

來源:互聯網
上載者:User
// templatetest.cpp : 定義控制台應用程式的進入點。
//

#include "stdafx.h"
#include <iostream>
#include <typeinfo>
template <class Type, int size>

Type min( const Type (&r_array)[size] )
{
    /* 找到數組中元素最小值的參數化函數 */
    Type min_val = r_array[0];

    for ( int i = 1; i < size; ++i )
        if ( r_array[i] < min_val )
            min_val = r_array[i];

    return min_val;
}

template <class Type, int size>
Type min( Type (&r_array)[size] ) { /* ... */ return size; }

void f( double pval[9] ) {
    // 錯誤: Type (&)[] != int*
    std::cout<<typeid(pval).name()<<std::endl;// output double *
}

int _tmain(int argc, _TCHAR* argv[])
{
    double da[8] = { 10.3, 7.2, 14.0, 3.8, 25.7, 6.4, 5.5, 16.8 };
    int i1 = min( da );
    f(da);
    std::cout<<*da<<std::endl;
    std::cout<<typeid(da).name()<<std::endl;//output double [8]
    getchar();
    return 0;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.