定义多字数据表

sch*_*312 2 c++ types qualifiers

C++有内置类型,如long long int,unsigend int.类型可以与限定符组合,例如const,volatilemutable.

为什么是long long int数据类型?为什么没有命名longLongInt?多字数据类型如何工作?我可以定义自己的吗?

是否可以根据自定义数据类型定义自定义限定符?

例如,考虑3D中的线性代数向量.可以定义一个LinAlVector类,它包含向量的x,y,z分量.

如果我现在需要确保,这个向量是一个单位向量(长度等于1),我想知道我是否可以写

isUnit LinAlVector vec(x,y,z);
Run Code Online (Sandbox Code Playgroud)

其中isUnit是影响行为的修饰符LinAlVector(例如,如果定义了非单位向量,则为编译器错误).

我知道OO直截了当的方法是派生类UnitLinAlVectorLinAlVector.

eer*_*ika 5

为什么是long long int数据类型?为什么没有命名longLongInt

因为这是由标准委员会决定的名称.可能选择了该名称,因为它与C99中的等效数据类型名称相同.

对于它的价值,如果它被命名longLongInt,那么必须在该语言中引入新的关键字.这是需要避免的,因为引入新关键字不是向后兼容的.long long int没有引入任何关键字因为long并且int已经是关键字.

我可以定义自己的吗?

不,作为该语言的用户,您可以创建类型别名和新类类型,但不能创建新的基本类型.

作为编译器实现者,你可以.

是否可以定义自定义限定符

不是该语言的用户.