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}