本篇文章仅做个人学习加固C++基础记录。
- char,signed char 和 unsigned char 三种是不同的,char 在某些机器上可能是signed char,在某些机器上可能就是unsigned char ,这三者都只占一个字节。
- 以U为后缀的十进制数,八进制数或十六进制数都将从 unsigned int,unsigned long 和 unsigned long long 中选择能匹配空间的最小一个作为其数据类型。如果找不到满足这三种的,则会编译错误。
- 初始化和赋值是不同的,初始化的含义是创建变量时赋给一个初始值,赋值是把当前对象的值替换为一个新的值。
- C++11 使用{}来初始化值,如果出现转换类型不一致,在编译的时候会报错,比如下面的情况。
int a{ 0.1 }; // 编译报错 int b(0.1); // 编译通过
-
定义在函数体内部的内置类型变量将不被初始化,定义在全局区域的会被初始化。
-
引用并非对象。非常量引用的初始值必须为左值。eg:const int &j = 23;
-
指针的类型必须与所指对象的类型一致,但是有两个例外:其一是允许指向常量的指针指向一个非常量对象。
-
最高有效字节在最前面——大端表示法,最低有效字节在最前面——小端表示法。