C++獲取陣列的長度

Curtis_發表於2019-03-20

使用模板template。

1、求陣列長度的模板函式:

template<class T>
int length(T& arr)
{
    //cout << sizeof(arr[0]) << endl;
    //cout << sizeof(arr) << endl;
    return sizeof(arr) / sizeof(arr[0]);
}

2、完整測試程式碼: 

#include<iostream>
using namespace std;

template<class T>
int length(T& arr)
{
    //cout << sizeof(arr[0]) << endl;
    //cout << sizeof(arr) << endl;
    return sizeof(arr) / sizeof(arr[0]);
}

int main()
{
    //整型陣列 
    int arr[] = { 1,5,9,10,9,2 };
    cout<<length(arr)<<endl;
    
    //字串陣列 
    string str[]={"a","bd","as","a",""};	
    cout<<length(str);
    
    return 0;
}

 3、結果:

參考:https://www.cnblogs.com/liutongqing/p/7282528.html

相關文章