2020年4月22日
0 、codeblocks的安装和调试
codeblocks的安装包
链接:https://pan.baidu.com/s/1e6M4lhWuxV12bjUTX2Fx4g
提取码:txrx
安装很随意,随便安装就好,没有什么坑。
值得注意的是下载后的mingw的配置。
Settings->debugger->Default->Executable path 选择 codeblocks安装目录下->MinGW->bin->gdb.exe 即可
1、c++ 中const 的使用
首先丢一个链接用于 const 的全面使用:C++中关于const的全面使用
再说一下对我个人来看比较重要的一些const用法。
const的中文意思是常量,常数。
修饰变量
我们使用const 来修饰一个变量的时候,可以手动的将这个变量"变成"常量(数值不允许被改变).
const int a =9; //手动将a变量变成常量.之后不允许被更改。
a=8; //不允许,这时会报错,常量是不允许被改变的
所以引出使用1: 我们在使用一些不允许被改变的变量的时候,可以用const来修饰它。
保护变量(防止意外修改)
void f(const int i) { i=10;//error! }
//如果在函数体内修改了i,编译器就会报错
2、C++使用algorithm头文件中的sort进行排序。
提前使用标准命名空间(using namespace std;)
我们需要知道的是:sort函数只利用小于运算符来进行定序,小者在前。
sort函数原型:
sort(排序起始地址,排序末尾地址,比较函数)
使用sort基本类型的比较
对于基本类型的比较。默认小数在前。我们如果需要使用从大到小的排序的话,可以重写比较函数即可。
bool cmp(int x,int y){
return x>y;
}
int buf[100];
sort(buf,buf+50,cmp) // 对buf数组的前50个数字进行排序。按照从大到小排列。
sort(buf,buf+20) //对buf数组的前20个数字进行排序。按照从小到大排列。
使用sort进行结构体的比较
因为sort函数本身是不知道结构体的比较规则的(结构体含有多个基本类型的变量),但是sort函数都是按照小于运算符来进行比较的。所以我们可以通过重载结构体的小于运算符来进行结构体的比较
struct E{ //E是我们这个结构体的类型。
char name[101];
int age;
int score;
//判断逻辑:判断优先级最高的是score,按照score从小到大,score相同的比较name,name相同的比较age。
bool operator < (const E &b) const{ //结构体的比较sort函数中是没有的,我们重载了'<' .