首页 > 解决方案 > C++ 使用声明、typedef 和数组类型

问题描述

在数组的 C++ libstdc++ 源代码中,它使用 typedef 来定义数组类型,

  template<typename _Tp, std::size_t _Nm>
    struct __array_traits
    {
      typedef _Tp _Type[_Nm];
      ...
    };

您如何使用较新的“使用”声明来调整 typedef?

标签: c++c++11

解决方案


当您typedef使用数组时,如果要声明该类型的变量,则应将别名名称放在放置变量名称的位置。

例如,对于typedef一个int10 个元素的数组,我们应该这样做:

typedef int IntArr[10]; //without typedef, IntArr is just an array of 10 ints

那么using声明将是:

using IntArr = int[10];

因此,在您的情况下,using声明将是:

using _Type = _Tp[_Nm];

推荐阅读