Псевдоним типа
Псевдоним типа (англ. 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 2 Type alias, alias template (since C++11) Архивная копия от 9 февраля 2019 на Wayback Machine cppreference.com
- ↑ Вандевурд, Джосаттис, Грегор, 2018, Псевдонимы типов, с. 71.
- ↑ Вандевурд, Джосаттис, Грегор, 2018, Псевдонимы типов, с. 72.
- ↑ Gregoire, 2014, Type Aliases, p. 297.
- ↑ Вандевурд, Джосаттис, Грегор, 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.
СсылкиПравить
- Урок 60. Псевдонимы типов. Typedef и type alias, ravesli.com, 2017