typeof 运算符 (C23 起)

来自cppreference.com
< c‎ | language


确定对象的类型。

语法

typeof( 类型 ) (1)
typeof( 表达式 ) (2)
typeof_unqual( 类型 ) (3)
typeof_unqual( 表达式 ) (4)

解释

1) 返回类型名称且会计算嵌套的 typeof 说明符。
2) 返回操作数对应的类型名称。表达式不会发生隐式类型转换。
3,4) 分别与 (1)(2) 相同,但是会移除限定符。

注解

typeoftypeof_unqual 统称为 typeof 运算符typeof 运算符不能被用于位域成员。如果操作数的类型是可修改的类型,则会对操作数求值;否则,操作数不会被求值。typeof_unqual 运算符的返回结果是与 typeof 运算符返回的结果相对应的非原子限定类型。typeof 运算符将会保留所有限定符。

例子

引用

  • C23 标准(ISO/IEC 9899:2024):
  • 6.7.2.5 The typeof specifiers (第 115-118 页)

另请参阅