Можно просто читать страница Boost Background Information для получения быстрого обзора того, почему необходимо использовать Повышение и для чего можно использовать его. Стоимостью в несколько минут это берет.
Это наследие от C, где wchar_t
- это ] typedef
и typedef
имеют этот суффикс в стандартной библиотеке C.
Стандартная библиотека C использовала суффикс _t
для многих типов, которые определены в библиотеке (в отличие от типов, которые запекаются в самом C как ключевые слова).
Например, там time_t
, wchar_t
, uint32_t
, size_t
, ptrdiff_t
, div_t
и т.д.
Интересно (во всяком случае, для меня) то, что стандарт C не резервирует имена в этой форме для себя. Стандарт C указывает на то, что имена, начинающиеся с « str
», « mem
» и несколько других префиксов, могут быть добавлены в стандарт в будущем, но это не так. сделайте то же самое с именами, заканчивающимися на "
Я думаю, что это была «фаза» в развитии C и C ++. Ощущалась потребность в некоторых новых типах, но добавление новых ключевых слов всегда оспаривалось. Некоторый код уже использовал wchar
, гораздо меньше кода использовало бы wchar_t
. Обратите внимание, что size_t
и diff_t
относятся к одной эпохе.