第二章 变量与基本类型
基本类型的字面值
指定字面值的类型
类型的转换:
- #define 是预定义变量,是给字面值取别名
指针与引用
- 引用即别名
- 指针是指向对象的地址
- 循环和函数调用时使用 const type &var,可以避免对对象(不一定是const)的拷贝,提高效率
const和constexpr
默认情况下,const只对跟文件内的变量有效
- 编译器在编译时,会把const变量的地方替换成对应的值
const的引用和指针可能引用和指向一个不是const的对象
- (只是该引用和指针会误以为他们引用或指向的对象是const的,因此不允许进行修改操作)
const表明该对象不允许修改操作
指针也是对象,因此可能存在常量指针(该指针也可能只想常量对象,如const int *const p=&a;)
顶层const:*后面的const,该变量为常量
底层const:最前面的const,该变量是常量的引用或指针
constexp表示=右边的表达式为常量表达式
typedef和using
auto和decltype
auto必须有初始值
编译器会自动通过初始值分析变量类型
auto会忽略顶层const但保留底层const特性
decltype会根据括号内的表达式来推理变量类型
decltype会返回顶层的const
decltype的返回结果可能是引用
decltype(p)的返回类型不是int,而是int&
decltype((var_exp))的返回结果一定是引用
定义struct
- 可以进行初始化
- 定义最后必须有一个分号,表示类(结构体)定义结束
- 类的定义和变量声明最好分开进行
编写头文件
- 通常定义多个源文件要共用的类,常量,函数
- 注意使用 #define, #ifdef, #ifndef来进行头文件保护(防止重复引入)
- Title: 第二章 变量与基本类型
- Author: Huan Lee
- Created at : 2023-08-20 13:02:43
- Updated at : 2024-02-26 04:53:15
- Link: https://www.mirthfullee.com/2023/08/20/notion-第二章 变量与基本类型-c35bfd0e/
- License: This work is licensed under CC BY-NC-SA 4.0.