C++具有内置类型,例如long long intunsigend int。类型可以与限定符(例如constvolatilemutable)结合使用。

为什么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没有引入任何关键字,因为longint已经是关键字。



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

作为编译器实现者,您可以。



不作为该语言的用户。

关于c++ - 定义多字数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47548773/

10-12 17:28
查看更多