第二章 变量与基本类型

Huan Lee Lv5

基本类型的字面值

指定字面值的类型

Untitled

类型的转换:

Untitled

Untitled

  • #define 是预定义变量,是给字面值取别名

指针与引用

  • 引用即别名
  • 指针是指向对象的地址

Untitled

  • 循环和函数调用时使用 const type &var,可以避免对对象(不一定是const)的拷贝,提高效率

const和constexpr

  • 默认情况下,const只对跟文件内的变量有效

    • 编译器在编译时,会把const变量的地方替换成对应的值

Untitled

  • const的引用和指针可能引用和指向一个不是const的对象

    • (只是该引用和指针会误以为他们引用或指向的对象是const的,因此不允许进行修改操作)
  • const表明该对象不允许修改操作

  • 指针也是对象,因此可能存在常量指针(该指针也可能只想常量对象,如const int *const p=&a;)

    • 顶层const:*后面的const,该变量为常量

    • 底层const:最前面的const,该变量是常量的引用或指针

  • constexp表示=右边的表达式为常量表达式

typedef和using

Untitled

Untitled

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.