~取反操作符
1=>0
0=>1
^操作符 相同取0 不同取1
0^0=1
0^1=0
| 有1就为1
A?
%s 表示打印字符串
%i 不管输入的是8进制还是16进制全部转为10进制
%d 直接识别十进制
%0 八进制
%x 打印16进制
%u 无符号十进制
%02d 表示打印两位也可以是03打印三位 printf(%02d \r\n,1)=>1.00
%p 打印地址
%c 打印char字符
%f 打印小数
%.2f 打印两位小数printf(%.2f \r\n,1)=>1.00
\ 转义 ^ 表示打印^这个符号不然是打印不出来的printf(“%s”,“\”)=>表示打印
\n 换行符
\r 表示将当前的光标移动到本行开头,但不会移动到下一行;\n表示将光标移动到下一行,但不会移动到行首。单独一个\r或\n都不是一般意义上的回车,\r\n放在一起才是。通常在写程序的时候只要一个\n就可以了,这是因为编译器会自动将\n替换成\r\n。
&和类型在一起的是引用,和变量在一起的是取址。
在你需要实参发生改变的时候就传递引用。
传递引用就是取别名不会分配内存空间
vector < int > &vec2 = vec1引用
vector < int > *vec3 = &vec2取地址
void Swap(int *x, int *y)//地址作为参数,实际也是值传递传递的是地址但是实参的地址不会改变
Swap(&a,&b);//取地址传递过去
void Swap(int &x, int &y)//会直接改变实参的值,因为这是相当于传递他本身
Swap(a,b);
int p = ++i;//先加再返回
p = i++;//先返回再加