A Tour of C++ 笔记
祖师爷写的入门书。
The Basics
- C++ 是编译语言,源代码需要经过编译、链接才能生成可执行程序。
- ISO C++ 包括两部分:
- 核心特性,例如内置类型、循环等。
- 标准库,例如容器、I/O 操作等。
- C++ 是静态类型语言,编译器必须了解所有变量的类型。
- 函数重载:函数同名但参数类型不同
- C++ 逻辑运算符
- 按位运算:& 和 |
- 逻辑运算:&& 和 ||
- 窄化转换:丢失精度的转换,例如将 double 转为 int,将 int 转为 char。初始化时使用大括号({})可避免窄化转换。
- 变量作用域
- 局部作用域:适用于函数和 lambda 内声明的变量。作用范围为声明到 block 结束。
- 类作用域:类内和 enum class 内定义的变量。作用范围为整个 block。
- 命名空间作用域:命名空间内定义的变量。作用范围为声明到 namespace 结束。
- 全局作用域:不在任何 block 内定义的变量。
- nullptr 是空指针常量。