1、头文件 系统头文件不用加.h example 自己写的头文件需要加 .h #2、C语言与C++区别 C语言是弱语言,很多错误会忽略,不警告报错, C++是强语法语言,或报错 3、左值右值 能被赋值的是左值,不能被赋值的是右值 int a=10; a是左值,10是右值 4、const c语言的const修饰全局变量,
5、信号与槽 信号与槽还与connect与emit的调用顺序有关 example: connect(tea,&teachar::hungry,={ qDebug()<<“want to eat”; }); want(); //调用成功
void MainWindow::want(){ emit tea->hungry(); qDebug()<<“haha”;
} // want(); connect(tea,&teachar::hungry,={ qDebug()<<“want to eat”; });//调用不成功 //需要先建立连接,再执行触发条件,否则不成功
6、qint64转int // 从qint64 位转为 int类型 intValue = static_cast(qint64Value)
7、值传递与地址传递 值传递只传递形参,在声明时不占用内存,在调用时分配内存,
如:int a=1 ,int b=2 ;
swap(int a,int b)
系统先为a,b两个实参分配内存(两个整型的内存),在使用swap函数时再分配两个整型的内存,所以此时在调用swap时用了4个整型的内存,
在函数调用完后形参所临时分配的内存就会自动释放,只剩下实参啊a,b两个实参的内存。
但需要注意的是在使用数组作为函数参数时,数组是传址调用,即数组做参数时,传入的其实是数组的首地址,实质上是一个指针
如 int c[4] = { 0,1,2,3 };
void swap_2(int c[], int a, int b) {
int d = c[a];
c[a] = c[b];
c[b] = d;
}
最后 c[4] ={0 2 1 3}
|