OOP 的本质就是设计并拓展自己的数据类型。
简单变量
在头文件 climits 里,ing一了各种限制的符号名称。
INT_MAX, LLONG_MAX
CHAR_BIT — bit per byte
C++11使得大括号初始化器用于任何类型!!!
大括号初始化器可以不用等号
int nums{21};
int nums{}; //默认初始化为 0
cout 默认输出十进制
cout<<hex<<42<<endl; //以十六进制输出 42
cout<<oct<<42<<endl; //以八进制输出42;
二进制输出
C++ 将字符表示为整数,是的操纵字符值很容易。键盘输入的数字也被看作字符。
char 是否有符号由C++来决定。
char16_t, char32_t, 无符号字符量。
const 限定字符
这是一种更好的处理符号常量的方法,使用const 关键字来修改变量声明和初始化。
相比较于#define :
- 可以指定类型
- 可以用于更加复杂的类型
浮点数
书写
e表示法:可以确保数字以浮点格式存储,即使没有小数点。
d.ddde+n, 是将小数点右移n位。
浮点类型
养成阅读头文件、源文件的习惯。
浮点常量
默认double,可以使用后缀 f 表示float,l表示long double
C++算术运算符
有一个数是浮点型,除法结果为浮点型。否则结果抛弃小数部分。
浮点常量默认是 double
类型转换
浮点型转化整形会造成数据丢失,截去位数部分,只保留整数部分。
C++11以{}方式初始化时进行的转换:
列表初始化更加严格,不允许缩窄。会只能判断是否可以初始化。
在表达式计算时,C++通过一个校验表进行类型转化方便计算,然后将结果转化为要求的类型。
强制类型转化。
typename(value); //C++风格
强制类型转换运算符
static_cast<typename>(value);