cv-qualified是什么意思?

18
我开始看到“cv-qualified”这个术语被频繁使用。
对于我的上一个问题的答案
如果T是(可能是cv-qualified)类类型(第9条),则调用T的默认构造函数(12.1)
有人能为我定义一下吗?

1
我会认为它至少是相反的。 - James Donnelly
1
这是constvolatile类型限定符 - Some programmer dude
2个回答

23

在C++中,cv代表const和volatile。

根据C++标准(3.9.3 CV-qualifiers):

  • 对象类型(1.8)的术语包括在创建对象时指定的声明符序列(7.1)、声明符(第8条)、类型ID(8.1)或新类型ID(5.3.4)中指定的cv限定符。

  • const对象是const T类型的对象或此类对象的非可变子对象。

  • volatile对象是volatile T类型的对象、此类对象的子对象或const volatile对象的可变子对象。

  • const volatile对象是const volatile T类型的对象、此类对象的非可变子对象、volatile对象的const子对象或const对象的非可变volatile子对象。


22

c-v资格表示常量和易失性...例如:

// non cv_qualified 
int first; 
char *second; 

// cv-qualified 
const int third; 
volatile char * fourth; 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接