typeof operators (since C23) - cppreference.com (original) (raw)

Determines the type of an object.

[edit] Syntax

| | | | | ------------------------------------ | --- | | | typeof( type ) | (1) | | | | | | | typeof( expression ) | (2) | | | | | | | typeof_unqual( type ) | (3) | | | | | | | typeof_unqual( expression ) | (4) | | | | | |

[edit] Explanation

  1. produces the type-name with any nested typeof-specifier evaluated

  2. yields the type-name representing the type of its operand. No implicit conversions are applied to expression.

3,4) the same as (1) and (2) respectively but remove qualifiers

[edit] Notes

typeof and typeof_unqual are collectively called the typeof operators. The typeof operators cannot be applied to bit-field members. If the type of the operand is a variably modified type, the operand is evaluated; otherwise, the operand is not evaluated. The result of the typeof_unqual operator is the non-atomic unqualified type that would result from the typeof operator. The typeof operator preserves all qualifiers.

[edit] Example

[edit] References

[edit] See also