c++:gcc 是否提供扩展的宏/函数,如 "countof"数组的大小?

标签 c++ arrays gcc count size

VC在“stdlib.h”中提供了一个名为“_countof”的宏,会在编译时计算数组元素的个数。

我的问题是 gcc 是否提供类似的实用程序? 谢谢。

最佳答案

在 C++17 中,std::size函数模板将返回数组或容器的大小。

A possible implementation已给出,因此在 C++17 可用之前您可以自己编写:

template <class T, std::size_t N>
constexpr std::size_t size(const T (&array)[N]) noexcept
{
    return N;
}

这适用于任何符合标准的 C++11 编译器,因此它比特定于编译器的扩展更具可移植性。

关于c++:gcc 是否提供扩展的宏/函数,如 "countof"数组的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43444235/

相关文章:

c - C语言中初始化数组的方法

c++ - 从类中返回结构映射(结构定义在类中): compile error

javascript - 如何在 Angular js 中从数组中获取数据

c++ - 如何将从字符串中取出的字符转换为int?

php - 使用 mysqlDB 的结果 hmset redis

c++ - 范围枚举 : error: cannot convert ‘int’ to ‘Handle’ in initialization

linux - 警告构建使用导出符号的内核模块

c++ - '<一些系统头> : error: ‘<insert function here>’ is not a member of ‘std’ ' after moving source file

c++ - 我试图想出一个跨平台的替代方法来替代 sleep(),但我的代码不太好用

python - 在没有内存泄漏的情况下在 Python 中公开 STL 结构