首页 > 代码库 > C++ Primer(第五版) 笔记 C01-02

C++ Primer(第五版) 笔记 C01-02

C01
  1. ++val; 优于 val++;
  2. 对数量不定的输入数据:while(cin>>value)...
    遇到无效的输入或eof后,cin变为无效状态,条件变为
  3. 来自标准库的头文件用<>包围,不属于标准库的用""包围。
  4. 文件重定向工作:exename.exe <infile >outfile
  5. 点运算符:左侧运算对象是类类型的,右侧是该类型的成员
  6. 参数 = 实参 = 值,形参指出调用函数可使用什么实参
  7. 定义在函数内部的内置类型通常不初始化。
C02
  1. char类型:可以确保存放机器基本字符集任何一个字符。
    wchar_t类型用于存放机器最大扩展字符集中任意一个字符。
  2. 明确知晓数值不可能为负时,使用无符号类型。
  3. char未被显式定义为有/无符号,不适合代码移植。
  4. 对于无符号整型赋溢出的值,结果是对其初始值所表示总数取模后的余数;对于有符号类型,结果是undefined
  5. uint与int运算,int转化为uint
  6. 字面值常量没有负数字面值。
  7. 指针的字面值只有nullptr
  8. 初始化(包含在内存中开辟空间的过程)≠赋值。对于内置类型,必须初始化(定义+赋值)后使用。
  9. 初始化:
    1. int a=0;(拷贝初始化)
    2. int a(0);(直接初始化)
  10. 默认初始化:初始化每个类的内置类型的变量
  11. 分离式编译:声明(+extern,多次)≠定义(一次)。
  12. 第一次使用变量的时候定义变量,以防变量覆盖。
  13. 引用 ∈ 左值
    引用必须被初始化,且无法改绑定。引用不是一个对象。
  14. 空指针:pointer = 0; 建议初始化所有指针
  15. 变量声明与定义一律从右向左
    例如指向指针的引用使用 int *&ref_ptr;
  16. 先出现的const(右面的)称为顶层const,其本身是一个常量;底层const表示其指向的对象是常量
  17. (C++11)decltype(string::size_type),用于返回操作数的数据类型。
  18. 头文件通常只包含那些只能被定义一次的实体。