牛骨文教育服务平台(让学习变的简单)
博文笔记

如何获取C++ Array的大小

创建时间:2017-02-07 投稿人: 浏览次数:1052

参考自chromium的处理方法如下:

template <typename T, size_t N> char (&ArraySizeHelper(T (&array)[N]))[N];
#define arraysize(array) (sizeof(ArraySizeHelper(array)))

范例:

#include <iostream>

template <typename T, size_t N>
char (&ArraySizeHelper(T (&array)[N]))[N];
#define arraysize(array) (sizeof(ArraySizeHelper(array)))

int main()
{
  int a[] = {1, 2, 3, 4, 5};
  std::cout << "The count of a: " << arraysize(a) << std::endl;
  return 0;
}

结果:

The count of a: 5

至于上述写法更详细的解释见
https://blogs.msdn.microsoft.com/the1/2004/05/07/how-would-you-get-the-count-of-an-array-in-c-2/。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。