21xrx.com
2024-12-23 01:34:25 Monday
登录
文章检索 我的文章 写文章
如何获取C++数组的长度
2023-06-27 20:31:17 深夜i     --     --
C++ 数组 长度 获取

C++中的数组是一组相同类型的元素的集合。获取一个数组的长度是编写代码时经常遇到的问题,而且解决这个问题的方式也非常简单。

在C++中,获取数组的长度的方法是通过数组大小除以每个数组元素占用的空间大小得到。例如,如果我们有一个包含10个整数的数组,每个整数占用4个字节,那么数组的长度就是40个字节。假如我们按照下面的方式来声明和初始化一个数组:


int myArray[] = 9;

这个数组有5个元素,因为我们在初始化时只给出了5个元素。如果想获取这个数组的长度,我们需要知道每个元素占用的空间大小,这里是4个字节,然后计算数组总大小,即20个字节。所以,myArray的长度是20。

下面是一个自定义函数,可以帮助我们方便地获取任何类型的数组的长度:


template <typename T, unsigned N>

constexpr std::size_t ArraySize(T (&)[N]) noexcept

  return N;

这是一个C++11标准中的特性。此函数将一个数组以引用的方式传递,可以获取任何大小、任何类型的数组长度。使用这个函数的方法如下:


int myArray[] = 7;

int length = ArraySize(myArray);

这将返回5, 即myArray的长度。

在C++17中,我们可以使用std::size()函数来获取数组的长度:


int myArray[] = 1;

int length = std::size(myArray);

这和前面的方法是等价的,都可以获取数组的长度。

在处理数组的时候,获取数组的长度是非常有用的。现在,使用上述方法,你已经掌握了如何获取C++数组的长度。

  
  

评论区

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