#include <iostream>
using namespace std;

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

// begin()返回指向数组首元素的指针,end()返回指向尾元素的下一位置的指针
template <class T>
int getArrLength(T& arr) {
    return end(arr) - begin(arr);
}

// 但是这两种方法在字符数组的情况下都会多一个长度,因为有'\0', 所以要处理一下
char c[] = "abc";
cout << "getArrSize: " << getArrSize(c) << "  getArrLength: " << getArrLength(c) << endl;
posted on 2019-01-22 10:37  被杜撰的风  阅读(280)  评论(0编辑  收藏  举报