C++获取数组元素个数的问题

来源:互联网 发布:怎样开淘宝店 编辑:程序博客网 时间:2024/06/05 07:50

C++中数组可分为堆区的数组和栈区的数组,对于两种数组C++都没有函数可以直接获取数组的元素的个数


一、堆区的数组

堆区的数组是自己申请的,比如用new申请空间:

int* arr = new int[10];

堆区的数组不能计算出包含元素个数。


二、栈区的数组

栈区的数组是系统自动分配的,如:

int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };

栈区的数组可以通过以下两种方法得出元素的个数:

(1)

int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };auto diff = sizeof(arr)/sizeof(int);

(2)

这种方法需要所用编译器支持C++11,14

int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };int *pbeg = begin(arr);int *pend = end(arr);auto length = pend - pbeg;//数组元素个数



1 0
原创粉丝点击