C++ 学习零散 笔记

6 阅读1分钟

1.if判断 最好值放 == 左边 :

if( 100 == a){ //可以有效防止 a=100这种代码错误
    //TODO
}

2. auto 自动推导类型

   auto age = 35; //建议优先使用

**3.逐位与或非不建议用于 if 判断,不会产生短路

4.常量

const int x{0}; //运行时常量,涉及到传递的常量使用场景
constexpr int cx{1} //编译时常量

5.枚举

     enum class Level
     {
         DEBUG,  //默认0,后自增1
         RELEASE, 
         TEST = 3, //也可赋值,后面的在这个基础上增1
     };
     
     (int)Level::DEBUG //访问方式

6.数组

栈数组:

    int arr[10] //字面量不支持变量,支持constexpr,代码块结束释放
    sizeOf() / sizeOf(int) //除以类型

堆数组

    int* arr = new int[4] ; //可以自己控制空间大小
    delete []arr; //手动释放
    arr = nullptr

容器数组

 #include <vector>
 std:vector
 //vector<元素类型> 变量名(初始化数量)
 vector<int> v();
 v.size()// 获取大小 增加内容会自动扩充

7.全局变量

全局变量:全文件有效 进入main函数前申请空间

静态全局变量:声明周期是全局,作用域仅限于本文,进入main函数前申请空间 static int count =0;

局部静态变量:方法内 执行代码内申请,销毁于整个main函数结束

8.指针和引用

9.函数

如果形参不需要改变,定义成const

  1. .h文件当中减少放全局变量和不使用引用。