求一个数组的长度

来源:互联网 发布:重新加载js不刷新页面 编辑:程序博客网 时间:2024/05/06 01:53

求一个数组长度的方法:

1、定义了一个int变量进行计数。

2、定义宏操作

3、使用模板

#include <iostream>#include <string>using namespace std;#define Arr_Size(x)   (sizeof (x)) / (sizeof *(x))template <class T>inline size_t arr_size(T& array){    return (sizeof(array) / sizeof(*array));}using namespace std;int main(){    string a[] = {"dgdf4                35", "dgdf435", "dgf435",                  "dgdf435", "dd35", "d35"                 };    char b[][20] = {"1234567890ABCDEF", "dgdf435", "dgf435","dgdf435", "dd35", "d35"};    char c[3][4] = { {1, 2, 3, 4},{22, 33, 44, 55},{1, 2, 3, 4},    };    cout << sizeof(a) / sizeof(*a) << endl;    cout << Arr_Size(b) << endl;  // 用宏实现,又违背了尽量用内联    cout << arr_size(c) << endl;  // 要用模版实现    cout << arr_size(c[0]) << endl;  // 要用模版实现    return 0;}