写在前面:
本文章系列只和数据结构和C++细节相关
先甩出2020北京理工大学ACM冬季培训课程的哔哩哔哩网址
https://www.bilibili.com/video/BV1pE411E7RV?from=search&seid=9369959582005273367
1、c++读取一行
string line;
getline(cin,line);
cout<<line<<endl;
```cpp
在这里插入代码片
2、快速签到
int a;
while(cin>>a)
{
}
cin和cout速度慢容易TLE,改用scanf printf
3、引用,不能改变指向对象的指针
void swapit(int &a,int &b)
{
a = b-a;
b = b-a;
a = b+a;
}
void swapit2(int &a,int &b){
a = a^b;
b = a^b;
a = a^b;
}
经典原地交换
4、new和malloc
int* carr =(int*)malloc(100*sizeof(int));
int* carr2=new int[100];
5、c++函数重载
int add(int a,int b=0){
return a+b;
}
6、结构体省略
struct Node{
int data;
Node *next;
};
struct可以加入与结构同名,无返回值的构造函数, 在创建struct的时候会自动调用构造函数
与缺省参数配合使用会让代码更简洁
struct Node{
Node(int data=1){
int data;
Node *next;
}
};