[TOC]

文章参考:https://haicoder.net/cpp/cpp-array-length.html

概述

对于C数组,C++没有提供方法直接计算其size,可以借助sizeof() 、begin()、end()间接的计算其长度。

使用sizeof

sizeof是一个关键字,它是一个编译时运算符,用于计算变量或数据类型的字节大小。

1
2
3
4
5
6
7
8
9
10
int main(int argc, char *argv[]){

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

int length = sizeof (arr) / sizeof (arr[0]);

std::cout << "array arr's length =" << length<< std::endl;

return 0;
}

使用begin(),end()

1
2
3
4
5
6
7
8
9
10
11
int main(int argc, char *argv[])
{

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

//计算数组长度
int length = std::end(arr) - std::begin(arr);
std::cout << "array arr's length =" << length<< std::endl;

return 0;
}