- 博客(13)
- 资源 (6)
- 收藏
- 关注
原创 C/C++ 学习记录06(函数指针与静态模板)
函数指针含义如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针。那么这个指针变量怎么定义呢?虽然同样是指向一个地址,但指向函数的指针变量同我们之前讲的指向变量的指针变量的定义方式是不同的。例如:int(*p)(int, int);这个语句就定义了一个指向函数的指针变量 p。首先它是一个指针变量,所以要有一个“*”,
2020-08-11 15:47:28
233
原创 C/C++学习记录05 (类的大小以及sizeof使用)
类的大小空类大小:#include<iostream>using namespace std;class ClassA{};class ClassB{ ClassB() { }};class ClassC{ ~ClassC() { }};class ClassD{ ClassD() { } ~ClassD() { }};int main(){ //输出类
2020-08-01 09:44:06
180
原创 C/C++学习记录04(关于指针和数组,指针数组,数组指针)
指针数组普通数组定义int a[100]; int代表的是这个空间访问的最小权限指针数组定义方式char *a[100];a数组名,100表示范围, * 告诉a中存放内容的属性,char 是指定 * 读内存的方法。sizeof(a) = 100 * 4 = 400;二维指针char **a ;//等同于指针数组a[1]访问第一个存放的指针地址,依此类推。...
2020-07-30 12:12:24
181
原创 C/C++学习记录03(数组赋值初始化相关)
C语言中数组的一些注意事项1.赋值初始化问题char buf[10] = {'a','b','c'};这样赋值后的buf只能当做普通内存来看,不能当做字符串。char buf[10] = {'a','b','c','\0'};结尾必须加\0或则0才能当成字符串。char buf[10] = {"abc"};//推荐使用标准初始化方法char buf[10] = "abc";//同样可行,将“abc”逐一拷贝到buf中注意:char *p = “abc”;//p指向一个常量区p
2020-07-30 11:28:47
701
原创 C/C++学习记录01(编程风格,#define宏定义使用与内联函数inline)
条件及循环语句中的良好编程风格写法一:int a;if ( 'A' == a ){ a++;}写法二:int a;if ( a == 'A' ){ a++;}写法一优于写法二,因为当程序员不小心将“==”写成“=”,编译器不允许对常量赋值,就会在此处报错提醒程序员。写法一:int i, X, Y, J ;for( i = 0; i < 10 ; i ++ ){ X = i + Y + J * 5; printf( "%d", X);}写法二
2020-07-29 11:49:26
212
原创 Qt 解决弹出交互窗口中文乱码问题
Qt 解决弹出交互窗口中文乱码问题乱码情况如下解决方法:在main函数中加入下面这条语句:QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());```cpp#include <QTextCodec>int main(int argc, char *argv[]){ QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());//防止中
2020-06-03 09:13:43
1714
原创 QT继承QObject以实现多线程功能
QT继承QObject以实现多线程功能主要利用moveToThread()函数实现线程转移从而实现多线程功能:(1)创建一个新线程if(m_objThread1)//判断线程是否已经创建{ return;}m_objThread1= new QThread();//创建一个新线程m_obj1 = new ThreadObject();//创建自定义的类指针m_obj1->SetMutex(&mutex);//设置线程mutex互斥锁m_obj1->moveToT
2020-06-01 18:37:30
575
原创 Qt信号槽传递参数的使用记录
Qt信号槽传递参数的使用记录信号槽传递参数大致分为两种:(1)信号函数参数个数与槽函数参数个数相同举例:.h文件中:signal:void m_signal1(int a);private slots:void m_slot1(int a);.cpp文件中信号与槽连接:connect(this, SIGNAL(m_ignal1(int)), this, SLOT(m_slot1(int))); void MainWindow::m_slot1(int a){ qDebug(
2020-06-01 15:52:20
257
原创 Qt中QString的arg()函数使用记录
Qt中QString的arg()函数使用记录QString::arg()//是用字符串变量参数依次替代字符串中最小数值大致有如下3种用法:(1)arg(str1, str2, str3)其中一次可替换参数个数最多为9个,举例如下QString str = QString("%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 %11").arg("1","2","3","4","5","6","7","8","9")输出为"1 2 3 4 5 6 7 8 9 %10 %11"要想
2020-06-01 11:39:52
3440
原创 类构造函数初始化列表的使用
类构造函数(Constructor)的初始化列表的使用构造函数是与类同名的函数,它与普通函数的区别在于,它没有返回类型。在构造函数后面紧跟着冒号加初始化列表,各初始化变量之间以逗号","隔开。下面举个例子。class myClass{public :myClass();// 构造函数,无返回类型,可以有参数列表,这里省去~myClass();// 析构函数int m_a;//声明变量const int m_b;//声明一个常量}myClass::myClass():m_a(1),m_
2020-05-30 10:49:11
702
原创 Qt 利用正则表达式对LineEdit输入数字范围进行限制
**LineEdit限制数字输入举例**QRegExp rx("^(\\d|[1-9]\\d|(1[0-2][0-3]))$");//输入范围为【0-123】QRegExp rx2("^(-[1-9][0-9][0-9]|-[1-9][0-9]|-[1-9])|(500|\\d|[1-9]\\d|[1-4]\\d\\d)$");//输入范围限制为【-999-500】QRegExp rx3("^-?((\\d|[1-9]\\d)(\\.\\d{0,2})?)$");//输入范围是【-99.99-99
2020-05-29 11:20:13
6209
2
QT 利用继承Qobject实现多线程
2020-06-01
stm32数码管显示时间,温度,控制继电器,闹钟等.zip
2020-05-02
Qt 方向键控制焦点移动,改变选中的控件
2019-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人