Операторы typeof (с C23)
Определяет тип объекта.
Синтаксис
typeof( тип ) | (1) | |
typeof( выражение ) | (2) | |
typeof_unqual( тип ) | (3) | |
typeof_unqual( выражение ) | (4) |
Объяснение
1) возвращает имя типа с учетом вычисления любых вложенных спецификаторов typeof
2) возвращает имя типа, представляющее тип своего операнда. К выражению не применяются неявные преобразования.
3,4) аналогично (1) и (2) соответственно, но удаляют квалификаторы
Примечания
typeof и typeof_unqual вместе называются операторами typeof. Операторы typeof нельзя применять к членам битовых полей. Если тип операнда — тип с изменяемыми параметрами, операнд вычисляется; в противном случае операнд не вычисляется. Результат применения оператора typeof_unqual — неопределённый неатомарный тип, который бы получился при применении оператора typeof. Оператор typeof сохраняет все квалификаторы.
Пример
Ссылки
- Стандарт C23 (ISO/IEC 9899:2023):
- 6.7.2.5 Спецификаторы typeof (с. 115-118)
См. также
Документация C++ по decltype |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/language/typeof