@sddvxd

Что означает _t в типе wchar_t?

Собственно, вопрос в заголовке:)
  • Вопрос задан
  • 837 просмотров
Решения вопроса 1
@MarkusD Куратор тега C++
все время мелю чепуху :)
Это называется GNU/POSIX naming agreement - соглашение об именовании.
The requirement that additional types defined in this section end in "_t" was prompted by the problem of name space pollution. It is difficult to define a type (where that type is not one defined by POSIX.1-2008) in one header file and use it in another without adding symbols to the name space of the program. To allow implementors to provide their own types, all conforming applications are required to avoid symbols ending in "_t", which permits the implementor to provide additional types. Because a major use of types is in the definition of structure members, which can (and in many cases must) be added to the structures defined in POSIX.1-2008, the need for additional types is compelling.


Таким образом, для избежания пересечения имени типа с именами других сущностей, для имен типов определяется суффикс "_t".

Дополнительно, GNU резервирует полностью все пространство имен для суффикса "_t" с целью расширения набора имен стандартных типов.

В общем, суффикс "_t" несет двойной смысл. Первое - он говорит что это имя типа. Второе - он говорит что это имя стандартного типа.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy
Android developer at Yandex
Cобственно, означает, что wchar_t это имя типа. Это только для программиста, в том смысле, что для компилятора оно не означает ничего.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы