C ++ с использованием декларации, typedef и типа массива - PullRequest
0 голосов
/ 04 марта 2019

В исходном коде libstdc ++ для C ++ для массива он использует typedef для определения типа массива,

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

Как использовать более новое объявление using для освобождения пространства typedef?

1 Ответ

0 голосов
/ 04 марта 2019

Когда вы typedef массиве, алиасное имя должно быть помещено туда, где помещается имя переменной, если переменная этого типа должна была быть объявлена.

Например, typedef an int массив из 10 элементов, мы должны сделать это:

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

Тогда объявление using будет иметь вид:

using IntArr = int[10];

Итак, в вашем случае, объявление usingбудет:

using _Type = _Tp[_Nm];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...