【书籍阅读】《C++Primer》(第5版)——第一、二章阅读笔记

第一章

  • p6 endl的作用是结束当前行,并将与设备关联的缓冲区(buffer)中的内容刷到设备中

  • p14 Windows中,文件结束符是Ctrl+Z,然后Enter或Return;UNIX中,是Ctrl+D

  • p15 好习惯“编辑-编译-调试”

  • p19 标准库用尖括号(<>),不属于标准库的头文件用双引号(“”)

  • p19 文件重定向:将标准输入和标准输出与命名文件关联起来$ addItems <infile> outfile

第二章

  • p32 数值不为负(选用无符号);整数运算(int,超过int选择long long);浮点运算(选用double)
  • p35 不要混用带符号和无符号类型,带符号会自动转换成无符号
  • p36 'A'字符;"A"字符串,字符与字符的数组
  • p37 使用L而不是l,从而和1区分image-20221004164849220
  • p39 初始化:创建变量时赋予其一个初始值;赋值:把对象的当前值擦除,用一个新值替代
  • p41 分离式编译:允许将程序分割成若干个文件,每个文件可以被独立编译
    • 声明:规定了变量的类型和名字;定义:在声明基础上申请存储空间,甚至赋一个初始值
    • 定义=声明+显式初始化
    • 变量可以被多次声明,但只能被定义一次
  • p44 作用域操作符::,当左侧为空时,请求全局变量
  • p45 引用:为对象起了另外一个名字。
    • 引用是和初始值绑定在一起,而不是将初始值直接拷贝。
    • 引用无法重新绑定到另外一个对象上,因此必须初始化。
    • 引用只能绑定在对象上,引用本身不是一个对象
  • p47 指针本身就是一个对象;指针无须在定义时赋初值,建议初始化所有指针。
    • 取地址符(&
    • 解引用符(*
  • p49 C++空指针尽量使用nullptr,而不是NULL
  • p50 void*指针用于存放任意对象的地址
  • p51 基本数据类型与类型修饰符(声明符的一部分)
    • int* p1, p2;p1是指针
    • int *p1, *p2;p1、p2都是指针
  • p53 从右向左阅读:int *&r = p;r引用的是一个int指针
  • p60 如果想在多个文件之间共享const对象,不管是变量的定义还是声明之前都要添加extern关键字
  • p57 顶层const(指针本身是一个常量,指针是常量),底层const(指针所指的对象是一个常量,常量的指针)
    • int *const p1 = &i;顶层const
    • const int *p2 = &ci;底层const
  • p58 常量表达式:指值不会改变并且在编译过程中就能得到计算结果的表达式
    • C++11通过constexpr声明变量是一个常量
    • 一个constexpr指针的初始值必须是nullptr或者0
  • p60 类型别名
    • 传统使用typedef double wages;
    • 新标准使用using SI = Sales_item;
  • p61 auto类型说明符,让编译器自己分析表达式所属的类型,必须要有初始值
  • p62 decltype类型指示符,选择并返回操作数的数据类型:decltype (f()) sum = x;decltype(())双层括号的结果永远是引用
  • p68 使用#ifndef做头文件保护
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值