Псевдоним типа

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Псевдоним типа (англ. type alias) — средство языка программирования C++, введённое в синтаксис стандарта C++11 для повышения удобства обращения к пользовательским и встроенным типам данных[1][2].

Вообще говоря в C++ новое имя типа можно продублировать следующими двумя способами[3]:

  • определение с помощью директивы typedef, которое часто называется typedef-объявлением,
  • определение с помощью директивы using, которое называется объявлением псевдонима.

Во всех случаях эта операция возможна только для уже определённого типа данных, так как при объявлении псевдонима он не определяет новый тип и не затрагивает свойства своего типа, а просто становится его синонимом для последующего применения в процессе разработки кода. Не существует значительной разницы между объявлением псевдонима типа и объявлением нового идентификатора с использованием спецификатора typedef[1]. Однако применение синтаксиса псевдонимов может повысить наглядность и читаемость кода, например при объявлении указателей на функции[4]:

typedef int (*FT)(char, double); // typedef-объявление типа указателей на функцию с двумя параметрами
using FT = int (*)(char, double); // объявление псевдонима для указателей на функцию с двумя параметрами

Кроме этого, в отличие от обычных typedef-объявлений псевдонимы типов могут быть параметризованы начиная с версии C++11[5].

Примечания

[править | править код]
  1. 1 2 Type alias, alias template (since C++11) Архивная копия от 9 февраля 2019 на Wayback Machine cppreference.com
  2. Вандевурд, Джосаттис, Грегор, 2018, Псевдонимы типов, с. 71.
  3. Вандевурд, Джосаттис, Грегор, 2018, Псевдонимы типов, с. 72.
  4. Gregoire, 2014, Type Aliases, p. 297.
  5. Вандевурд, Джосаттис, Грегор, 2018, Шаблоны псевдонимов, с. 72.
  • Д. Вандевурд, Н. Джосаттис, Д. Грегор. Шаблоны C++. Справочник разработчика = C++ Templates. The Complete Guide. — 2-е. — СПб. : «Альфа-книга», 2018. — 848 с. — ISBN 978-5-9500296-8-4.
  • M. Gregoire. Professional C++. — 3. — John Wiley & Sons, Inc, 2014. — ISBN 978-1-118-85805-9.