C++泛型之求未知数组的长度
2016-04-09 19:09
597 查看
C++泛型之求未知数组的长度
一般情况下,已知数组类型,我们求数组的长度的方法一般是:double A[] = {0,1,2,3,4}; cout << sizeof(A) / sizeof(double) << endl;
当然也可以这样:
double A[] = {0,1,2,3,4}; cout << sizeof(A) / sizeof(A[0]) << endl;因此,求未知数组的长度的方法也很类似了,也有两种方式:
法一:
#include <iostream> using namespace std; template <typename T> inline int getLen(T& arr) { return sizeof(arr) / sizeof(arr[0]); } int main() { double A[] = {0,1,2,3,4}; cout << getLen(A); return 0; }
法二:
#include <iostream> using namespace std; template <typename T, typename E> inline int getLen(T& arr, E e) { return sizeof(arr) / sizeof(e); } int main() { double A[] = {0,1,2,3,4}; cout << getLen(A, A[0]); return 0; }
相关文章推荐
- C++实验三
- c++模板实现栈
- 2016年蓝桥杯C++/c B组答案
- Getting Started with C++ in Visual Studio
- C++类内存分布
- C语言超大数相加求和、加减乘除算法实现
- C语言常用转义字符表 和 ASCII码表完整版
- 递归和尾递归的比较,斐波那契
- 3.10 左值和右值 中英文对照(C++标准中文版 ISO/IEC 14882:2014)
- C++虚继承内存布局
- C语言编程“Hello,world”
- Google的c++代码规范
- 队列的C++实现
- C++中的exit()函数
- 希尔排序算法的C语言实现示例
- C++ 读写文件
- 初步学习C++中的继承关系
- C++右值引用
- c/c++字符、字符串输入输出
- C语言求向量和的两则问题解答分享