C++基础(1)
1.常量
1.1 使用 const 将变量声明为常量
1 | const double pi = 3.14; |
1.2 使用 constexpr 定义常量表达式
1 | constexpr double GetPi() {return 3.14;} |
1.3 使用关键字 enum 声明的枚举常量
1 | #include<bits/stdc++.h> |
注:
1.使用枚举来指定变量的类型,这样声明的变量只能取指定的值。
2.North的值设置为5,这自动将随后的常量分别设置为 6、7 和8。
1.4 使用#define 定义常量
1 | #define pi 3.14 |
注:
1.#define 是一个预处理器宏,让预处理器将随后出现的所有 pi 都替换为 3.14。
2.使用#define 定义常量的做法已被摒弃,因此不应采用这种做法。
2.动态数组
std::vector:支持在运行阶段根据需要增大动态数组
1 | #include<bits/stdc++.h> |
3.Lambda 表达式
[capture](parameters) -> return_type { body }
capture
:捕获列表,用于指定在 lambda 表达式中可见的外部变量。可以通过值捕获或引用捕获来捕获变量。parameters
:参数列表,与普通函数的参数列表一样,用于传递参数给 lambda 表达式。return_type
:返回类型,指定 lambda 表达式的返回类型。可以省略,编译器会自动推断返回类型。body
:函数体,包含 lambda 表达式的实际操作。
1 | #include<bits/stdc++.h> |
4.动态内存分配
使用 new 动态地分配内存
1 | Type* Pointer = new Type; |
最终都需使用对应的 delete 进行释放:
1 | delete Pointer; |
1 | #include<bits/stdc++.h> |
5.将关键字 const 用于指针
5.1 地址不能修改,数据可修改
1 | int* const pDaysInMonth = &daysInMonth; |
5.2 地址可修改,数据不能修改
1 | const int* pointsToInt = &hoursInDay; |
5.3 地址和数据均不能修改
1 | const int* const pHoursInDay = &hoursInDay; |
6.共用体
共用体:可包含多个数据成员,但是只能使用其中的一个。
sizeof()用于共用体时,结果总是为共用体最大成员的长度,即便该成员并不处于活动状态。
1 | #include<bits/stdc++.h> |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 丹青两幻!
评论