使用C++模板获取数组长度

利用模板的特性,在编译期就获取到数组长度.

  • 模板函数GetArrayLength

    1
    2
    3
    4
    5
    template <typename T, size_t N>
    inline size_t GetArrayLength(const T(&)[N])
    {
    return N;
    }
  • 示例

    1
    2
    3
    int array[] = {0, 1, 2, 3, 4, 5};
    cout << GetArrayLength(array) << endl;
    // 输出: 6