自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 深入浅出MFC - C++ 重要性质

1.this指针成员函数有一个隐藏参数,名为this 指针。this 在编译期间出现。2. A a;基类 B b; 子类 。 A *p = &b; //多态的既可以通用基类的指针调用子类对象的方法 p->Func(); //调用的是B类对象的函数。 如果Func不是虚函数,调用的是A类对象的函数. 说明:在无虚函数的情况下,基类和派生类都定义相同名称的成员函数,那么通过对象指针调用成...

2020-12-23 09:57:02 133

原创 WM_CLOSE、WM_DESTROY、WM_QUIT区别

WM_CLOSE、WM_DESTROY、WM_QUIT区别WM_CLOSE:关闭应用程序窗口WM_DESTROY:关闭应用程序WM_QUIT:关闭消息循环只有关闭了消息循环,应用程序的进程才真正退出(在任务管理器里消失)。点击窗口右上角的关闭按钮,或选择【File/Close】,发出 WM_CLOSE消息。CMyFrameWnd 并没有设置WM_CLOSE 处理常式,于是交给预设之处理常式即缺省窗口函数defwindoeproc。预设函数对于WM_CLOSE 的处理方式是呼叫 ::Des

2020-12-21 16:18:00 399 1

原创 深入浅出 MFC -WIN32基本概念

windows程序进入点是winmain1.注册窗口registerclass注册窗口类,大型结构wndclass中有 wndproc ,也就是所谓的窗口函数。窗口只需注册一次,即initapplication只执行一次,即第一个实例执行,其他后面同一程序不需要执行。原因所有进程同在一个地址上。2.创建窗口。使用createwindows函数操作。在initInstance函数中执行,每一个实例都执行该函数。mfc 已经把initapplication和initInstance 封装成wina

2020-12-21 10:37:58 315

原创 TranslateMessage 和 DispatchMessage

TranslateMessage(&msg);TranslateMessage是用来把快捷键消息转换为字符消息,并将转换后的新消息投递到调用线程的消息队列中。由于Windows对所有键盘编码都是采用虚拟键的定义,这样当按键按下时,并不得字符消息,需要键盘映射转换为字符的消息。字符消息被投递到调用线程的消息队列中,当下一次调用GetMessage函数时被取出。...

2020-12-18 15:44:00 575 1

原创 c++ 之字节对齐

什么是字节对齐 现代计算机中,内存空间按照字节划分,理论上可以从任何起始地址访问任意类型的变量。但实际中在访问特定类型变量时经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序一个接一个地存放,这就是对齐。二 对齐的原因和作用 不同硬件平台对存储空间的处理上存在很大的不同。某些平台对特定类型的数据只能从特定地址开始存取,而不允许其在内存中任意存放。例如Motorola 68000 处理器不允许16位的字存放在奇地址,否则会触发异常,因此在这种...

2020-12-17 16:43:59 4887

原创 new delete 之placement new 和placement delete

前景: widget *pw = new Widget ; delete pw;两个函数被调用:一个是用以分配内存的operator new,一个是widget 的default 构造函数。如果第一个成功,第二个函数抛出异常,会引起内存泄露。定义办法是:对new 使用placement new.placement new: operator new 接受的参数除了一定会有的那个size_t 之外还有其他。如: void * operator new (std::size_t...

2020-12-15 11:09:20 103

原创 c++虚继承

使得在派生类中只保留一份间接基类的成员。在继承方式前面加上virtual关键字就是虚继承。//间接基类A class A{ protected: int m_a; }; //直接基类B class B: virtual public A{ //虚继承 protected: int m_b; }; //直接基类C class C: virtual public A{ //虚继承 protected: int m_c; }; //派生类D class...

2020-12-15 09:50:38 4230

原创 关于类大小的计算

首先,类大小的计算遵循结构体的对齐原则 类的大小与普通数据成员有关,与成员函数和静态成员无关。即普通成员函数,静态成员函数,静态数据成员,静态常量数据成员均对类的大小无影响 虚函数对类的大小有影响,是因为虚函数表指针带来的影响 虚继承对类的大小有影响,是因为虚基表指针带来的影响 空类的大小是一个特殊情况,空类的大小为1...

2020-12-15 09:21:58 1059

原创 深入浅出mfc 运行时类型识别(RTTI 、DECLARE_DYNAMIC)、动态创建( DCLARE_DYNCREATE)、永久保存(DECLARE_SERIAL)

只有用DECLARE_DYNAMIC,DECLARE_DYNCREATE或DECLARE_SERIAL定义的CObject的派生类才能返回CRuntimeClass结构指针。4. 程序的模块状态中有所有的RuntimeClass的列表,因此,查找对应的程序支持的RuntimeClass(对比ClassName),获得对应的RuntimeClass;//初始化一个名为"_init_##class_name"的AFX_CLASSINIT静态结构,主要作用是给指定的class_name的。

2020-12-11 11:04:31 774

原创 c++继承方式

三种继承方式  (1) 公有继承(public)   公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。  (2) 私有继承(private)  ------------------默认的继承方式(如果缺省,默认为private继承)私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。 子类也不能转换成相应的基类,如果转换,会报错:“不允许对不可访问的

2020-12-09 10:08:39 471

原创 qt 截屏

一:截取整个屏幕它就是QScreen类的grabWindow函数. 参数是窗口ID和要截取的区域(x、y、width和height组成的矩形区域)。窗口ID可以通过QWidget的winId()获得,若截取整个屏幕窗口ID传入0。如 QScreen *screen = QGuiApplication::primaryScreen(); // 这个是有界面的, 获取电脑的当前设置的主屏幕 还有类似函数QApplication::primaryScreen();...

2020-12-03 09:37:43 2141

原创 qt 定时器

Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类QObject类1、 int QObject::startTimer ( int interval ) ; 这个是开启一个定时器的函数,他的参数interval是毫秒级别。当开启成功后会返回这个定时器的ID, 并且每隔interval 时间后会进入timerEvent 函数。直到定时器被杀死。2、 void QObject::timerEvent ( QTimerEvent * even.

2020-12-01 14:36:06 4392 1

原创 QVector、QList、QLinkedList 类

QVector 是提供动态数组的一个模板类。在连续相邻的内存位置中存储items的值,并且提供基于索引(index-based)的快速访问。 QList 是提供列表的一个模板类。不是在连续内存空间存储,以数组列表(array-list)形式实现,并基于索引访问(index-based),同时,它插入和删除元素比较快(constant time)。 QLinkedList 是提供链表的一个模板类。以链式列表(linked-list)形式实现,不是连续的,并基于迭代器访问。...

2020-12-01 14:31:06 326

C++日志系统log4cxx

C++日志系统log4cxx

2024-01-09

qt QDataWidgetMapper讲解

qt QDataWidgetMapper讲解

2023-06-27

qt QSqlRelationalTableModel 详解

qt QSqlRelationalTableModel 详解

2023-06-27

Qt QSqlQueryModel详解

Qt QSqlQueryModel详解

2023-06-26

Qt QSqlTableModel详解

Qt QSqlTableModel详解

2023-06-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除