What does “cv-unqualified” mean in C++?

There are fundamental types and compound types. Fundamental types are the arithmetic types, void, and std::nullptr_t. Compound types are arrays, functions, pointers, references, classes, unions, enumerations, and pointers to non-static members.

A cv-unqualified type is any of those types.

For any cv-unqualified type, there are three corresponding cv-qualified types:

  • const-qualified – with the const cv-qualifier
  • volatile-qualified – with the volatile cv-qualifier
  • const-volatile-qualified – with both the const and volatile cv-qualifiers

Note, however, that cv-qualifiers applied to an array type actually apply to its elements.

The cv-qualified and cv-unqualified types are distinct. That is int is a distinct type from const int.

Leave a Comment