【发布时间】:2017-11-29 09:03:05
【问题描述】:
C++ 具有诸如long long int、unsigend int 等内置类型。类型可以与限定符组合,例如const、volatile 和mutable。
为什么long long int 是一种数据类型?为什么不命名为longLongInt?多字数据类型如何工作?我可以自己定义吗?
是否可以针对自定义数据类型定义自定义限定符?
例如考虑 3D 中的线性代数向量。可以定义一个类 LinAlVector,其中包含向量的 x、y、z 分量。
如果我现在需要确保这个向量是单位向量(长度等于1),我想知道我是否可以写
isUnit LinAlVector vec(x,y,z);
其中isUnit 是影响LinAlVector 行为的修饰符(例如,如果定义了非单位向量,则会出现编译器错误)。
我知道直接面向对象的方法是从 LinAlVector 派生一个类 UnitLinAlVector。
【问题讨论】:
-
其实是“三字”数据类型:
long long int i; -
它们在语言中是特殊的
-
这些多词类型是语言本身的一部分。不可能有多字通用标识符。
标签: c++ types qualifiers