21xrx.com
2024-12-22 18:43:33 Sunday
登录
文章检索 我的文章 写文章
C++中如何获取数组长度?
2023-07-07 12:15:54 深夜i     --     --
C++ 数组 长度 获取

在C++中,获取数组长度是一个经常被问到的问题。许多初学者会误认为数组长度就是数组的元素个数,因此他们使用错误的方法来获取数组的长度。实际上,获取数组长度的方法有很多种,接下来我们将介绍几种常用的方法。

方法一:使用sizeof运算符

C++中的sizeof运算符可以用来获取变量的字节大小,因此可以用来获取数组的长度。例如:


int arr[] = 2;

int len = sizeof(arr) / sizeof(int);

std::cout << "数组arr的长度为:" << len << std::endl;

上述代码中,我们创建了一个包含5个整数的数组arr,并且使用sizeof运算符获取了整个数组的字节大小。由于整个数组的字节大小等于每个元素的字节大小乘以元素个数,因此我们可以通过将数组的字节大小除以每个元素的字节大小来计算数组的长度。

方法二:使用模板函数

C++中有一个很方便的模板函数可以用来获取数组的长度,这个函数就是std::extent。例如:


int arr[] = 5 ;

int len = std::extent<decltype(arr)>::value;

std::cout << "数组arr的长度为:" << len << std::endl;

上述代码中,我们使用了std::extent模板函数来获取数组的长度,参数decltype(arr)表示获取arr数组的元素类型,而std::extent ::value表示获取元素数量。这种方法使用比较麻烦,但是很灵活,可以用来获取任意数组的长度。

方法三:使用标准库函数

C++标准库中提供了一个函数std::size可以用来获取数组的长度。例如:


int arr[] = 2;

int len = std::size(arr);

std::cout << "数组arr的长度为:" << len << std::endl;

上述代码中,我们使用了std::size函数直接获取了数组的长度,非常方便。这种方法需要C++17或更高版本支持。

综上所述,C++中获取数组长度的方法有很多种,每种方法都有其优缺点。我们可以根据具体的情况选择最合适的方法来获取数组的长度。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复