手打的,可能有问题,在持续更新,有建议或问题或相关的遗漏点欢迎评论(不一定回)
1. 对库的引用
注意这两种引用的区别
# include <math.h>
# include <cmath>
在 cpp 中,如果要使用 c 中的函数库,用类似于“cmath”之类格式;否则,使用“math.h”(是用于C语言的标准头文件引用)
在 cpp 中,推荐使用推荐使用 “cmath” 而不是 “math.h”,因为前者提供了C++标准库的功能,并将函数放置在 std 命名空间中,以避免全局命名冲突。
2. 命名空间
using namespace::std
如果你不明白这行代码的意义,请不要忘记加上
3. 注释
// 这个是单行注释
/*
这是一个多行注释
*/
4. 类型转化
int intValue = 42;
// 1. 静态转换
static_cast<double> = static_cast<double>(intValue);
// 2. 动态转换
/* 这个比较复杂,考试基本不会涉及,如有兴趣自行了解 */
// 3. 常量转换
// 4. 重新解释转换
// c 风格
int intValue = 42;
double doubleValue = (double)intValue;
建议写 c 风格的,不容易错
5. struct 的写法
#include <iostream>
// 定义结构体
struct Point {
// 成员变量
int x;
int y;
// 成员函数
void printCoordinates() {
std::cout << "Point coordinates: (" << x << ", " << y << ")\n";
}
};
int main() {
// 创建结构体变量
Point p1;
// 初始化结构体成员
p1.x = 10;
p1.y = 20;
// 调用结构体的成员函数
p1.printCoordinates();
return 0;
}
注意点:
- struct 结构的写法
- 创建结构体变量时的写法
6. 函数与赋值
给出一种赋值的方式
int a = 5;
int b = 10, c = 15;
数学函数相关
在 cmath 库中,很多函数中参数类型是 double,需要稍微注意下。(如果传入 int 等类型可能会进行类型转换)
log pow sqrt fabs floor ceil
数组
int a[5] = {1, 2, 3, 4, 5};
a[4] = 9;
int b[2][3] = {
{1, 2, 3},
{4, 5, 6}
}
a[0][1] = 5;
string 类型
string 类型并不以 null 结尾;如果要判断长度,有对应的 .length() 和 .size() (这两个是一样的)
string 类型的创建
string s = "1";
string s2("s2");
string 与 整型 等的转化
stoi stol stof stod
整型等 与 string 的转化
to_string
vector 类型
创建
# include <vector>
vector<int> v;
vector<int> v2 = {1, 2, 3};
杂项
- cpp 中相较旧版本 c 有多了 bool 型;三目运算符等
- lambda 表达式的写法(如果你不知道或不清楚 lambda 表达式的写法,请不要尝试去写这个东西)
- 函数引用传递