C++具有内置类型,例如long long int
,unsigend int
。类型可以与限定符(例如const
,volatile
和mutable
)结合使用。
为什么long long int
是数据类型?为什么未命名为longLongInt
?多字数据类型如何工作?我可以定义自己的吗?
是否可以针对定制数据类型定义定制限定符?
例如,考虑3D中的线性代数 vector 。可以定义一个类LinAlVector,其中包含 vector 的x,y,z分量。
如果现在需要确保此 vector 是单位 vector (长度等于1),我想知道是否可以编写
isUnit LinAlVector vec(x,y,z);
其中
isUnit
是影响LinAlVector
行为的修饰符(例如,如果定义了非单位 vector ,则发生编译器错误)。我知道OO直截了当的方法是从
UnitLinAlVector
派生一个类LinAlVector
。 最佳答案
因为那是标准委员会决定的名称。之所以选择该名称,是因为该名称与C99中的等效数据类型相同。
对于它的值(value),如果将其命名为longLongInt
,则必须在该语言中引入一个新的关键字。这是可以避免的,因为引入新关键字是不向后兼容的。 long long int
没有引入任何关键字,因为long
和int
已经是关键字。
不,作为该语言的用户,您可以创建类型别名和新的类类型,但不能创建新的基本类型。
作为编译器实现者,您可以。
不作为该语言的用户。
关于c++ - 定义多字数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47548773/