C++基础加固(1)

本篇文章仅做个人学习加固C++基础记录。

  1. charsigned char 和 unsigned char 三种是不同的,char 在某些机器上可能是signed char,在某些机器上可能就是unsigned char ,这三者都只占一个字节。
  2. 以U为后缀的十进制数,八进制数或十六进制数都将从 unsigned intunsigned longunsigned long long 中选择能匹配空间的最小一个作为其数据类型。如果找不到满足这三种的,则会编译错误。
  3. 初始化和赋值是不同的,初始化的含义是创建变量时赋给一个初始值,赋值是把当前对象的值替换为一个新的值。
  4. C++11 使用{}来初始化值,如果出现转换类型不一致,在编译的时候会报错,比如下面的情况。
    int a{ 0.1 };  // 编译报错
    int b(0.1);  // 编译通过

     

  5. 定义在函数体内部的内置类型变量将不被初始化,定义在全局区域的会被初始化。

  6. 引用并非对象。非常量引用的初始值必须为左值。eg:const int &j = 23;

  7. 指针的类型必须与所指对象的类型一致,但是有两个例外:其一是允许指向常量的指针指向一个非常量对象。

  8. 最高有效字节在最前面——大端表示法,最低有效字节在最前面——小端表示法。

你可能感兴趣的:(C/C++)