операторы typeof (с C23)
Определяет тип объекта.
Синтаксис
typeof( type ) | (1) | |
typeof( expression ) | (2) | |
typeof_unqual( type ) | (3) | |
typeof_unqual( expression ) | (4) |
Пояснение
1) формирует имя типа с вычисленными вложенными спецификаторами typeof
2) выдаёт имя типа, представляющее тип своего операнда. К expression не применяются неявные преобразования.
3,4) аналогичны соответственно (1) и (2), но удаляют квалификаторы
Примечания
typeof и typeof_unqual вместе называются операторами typeof. Операторы typeof нельзя применять к битовым полям. Если тип операнда является типом с переменной модификацией, операнд вычисляется; в противном случае операнд не вычисляется. Результатом оператора typeof_unqual является неатомарный неквалифицированный тип, который получился бы в результате применения оператора typeof. Оператор typeof сохраняет все квалификаторы.
Пример
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 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/c/language/typeof_unqual