Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "cv-unqualified" mean in C++?

Tags:

c++

c++-faq

As from subject. I saw this terminology in a question I recently asked, and apparently it's a well established term, but I am not able to find anything on stackoverflow.

like image 562
Stefano Borini Avatar asked Mar 14 '13 15:03

Stefano Borini


2 Answers

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.

like image 175
Joseph Mansfield Avatar answered Sep 19 '22 11:09

Joseph Mansfield


A type is "cv-unqualified" if it doesn't have any cv-qualifiers. A cv-qualifer is either const or volatile.

like image 40
Dirk Holsopple Avatar answered Sep 21 '22 11:09

Dirk Holsopple