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

c++: Does gcc provide extended macro/function like "countof" the size of an array?

本文关键字:数组 countof 函数 是否 gcc 扩展 c++      更新时间:2023-10-16

vc提供了一个称为" _countof"内部" stdlib.h"的宏,将在编译时计算,即数组元素的数量。

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

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

提供了可能的实现,因此您可以编写自己的编写,直到C 17可用:

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

这将适用于任何符合C 11编译器,因此它比编译器特定的扩展更便携。