C++
文章平均质量分 82
AlbertOS
争取0 error,0 warning
展开
-
QT国际化
在代码里面写中文就很low,运行时多语言切换是客户端程序都应该具备的。qt国际化其实就是qt中字符串的字符集编码的设置。当然这个设置不是简单的选择一下什么语言就好,这个需要编程人员来处理的。原创 2023-10-07 09:34:32 · 465 阅读 · 0 评论 -
Qt信号与槽机制的基石-MOC详解
上篇讲到了信号与槽就是实现的观察者模式,那具体如何生成映射表就是moc做的事情。原创 2023-07-31 11:33:25 · 4901 阅读 · 1 评论 -
CMake中加入Qt模块的合理方法
用CMake来组织的工程中要用Qt首先要设置、找到Qt相关模块。主要是通过`find_package`这个CMake命令。我在配置cmakelists的时候遇到了很坑,网上有很多教程讲的很不详细,这里我将我的方法分享给大家。原创 2023-02-06 11:39:39 · 1895 阅读 · 0 评论 -
Qt多线程开发之Concurrent框架
QtConcurrent命名空间提供了高级API,使得可以在不使用低级线程原语(例如:互斥、读写锁、等待条件或信号量)的情况下编写多线程程序,例如子类化QThread、QObject::moveToThread()、子类化QRunnable对于共享数据的保护都要使用低级线程原语,这无疑是要非常小心的。使用 QtConcurrent 编写的程序根据可用的处理器核心数自动调整所使用的线程数。这意味着,当在未来部署多核系统时,现在编写的应用程序将继续适应。原创 2023-02-01 09:32:51 · 2397 阅读 · 0 评论 -
为Qt程序生成的自定义文件设置关联图标并设置默认打开方式
最近的一个需求,发现需要使用Qt修改注册表,觉得很有意思就发一篇博客吧~原创 2022-11-02 15:51:55 · 1207 阅读 · 0 评论 -
C++强制类型转换操作符
C++ 引入了四种功能不同的强制类型转换运算符以进行强制类型转换:static_cast、reinterpret_cast、const_cast 和 dynamic_cast 。强制类型转换是有一定风险的,有的转换并不一定安全,如把整型数值转换成指针,把基类指针转换成派生类指针,把一种函数指针转换成另一种函数指针,把常量指针转换成非常量指针等。原创 2022-09-05 17:17:01 · 533 阅读 · 0 评论 -
C++11的加锁新方式lock_guard
今天看C++11的特性发现lock_guard这个锁对象,终于不用自己再管理锁的释放和手动资源管理了原创 2022-09-05 15:32:13 · 2648 阅读 · 2 评论 -
学习Cmake
CMake 就是针对上面问题所设计的工具:它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件原创 2022-09-02 09:11:17 · 422 阅读 · 0 评论 -
入门googletest
Google test是一种比较方便的C++测试框架,它可以帮助我们比较方便的进行测试代码,以及输出尽可能详细的失败信息,能够大大缩短我们测试代码的编写效率,而且这个框架的使用也比较简单。之前还在学校学习过Junit框架,作为一个java程序员或多或少接触到这个框架,同样的C++的测试框架最常用的就是GTest。原创 2022-08-23 11:55:49 · 587 阅读 · 0 评论 -
C++的一些好用的限定修饰符
在java中有一种代码审查机制叫做javaDoc机制;他通过在java的函数前面加上`@关键字` 的方式来限定函数只能做什么样的功能;这可以有效地防止我们编码的时候出现一些小错误导致代码功能的问题;C++中也有相应的机制~~,让我们深入了解修饰符的魅力吧...原创 2022-08-09 11:56:25 · 294 阅读 · 0 评论 -
C++智能指针详解
智能指针的使用细节原创 2022-07-11 10:42:49 · 5190 阅读 · 0 评论 -
Qt的网络连接方式
Qt支持广泛的网络通信方式,包括HTTP/TP协议、TCP连接、UDP连接等等,都可以在Qt netWork模块中实现;在.pro文件中加上QT += network就可以直接使用这个模块了而且Qt是支持C++11的原生写法的,所以C++原生的很多库也能用,你甚至可以直接写socket连接;...原创 2022-07-01 17:14:23 · 2768 阅读 · 0 评论 -
Qt的模型与视图
在MVC之前,用户界面都是将3种组件集合在一起,MVC将它们分开,从而提高了灵活性和重用性。如果将视图和控制这两种组件结合起来,就形成了模型/视图框架。这同样将数据的存储和数据向用户的展示进行了分离,但提供了更为简单的框架。数据和界面进行分离。使得相同的数据在多个不同的视图中进行显示成为可能,而且还可以创建新的视图,而不需要改变底层的数据框架。为了对用户输入进行灵活处理,还引入了委托(Delegate)的概念,使用它可以定制数据的渲染和编辑方式。...原创 2022-06-30 14:48:17 · 1321 阅读 · 0 评论 -
Qt中的数据库使用
Qt中使用数据库我们要在项目文件中声明加入SQL模块,然后Qt项目就会连接到SQL模块的一些头文件之后就可以开始使用sql的一些操作了原创 2022-06-30 10:10:17 · 8195 阅读 · 3 评论 -
Qt中的事件处理
事件不是信号与槽;这两个概念很容易混淆,究其本质信号与槽其实是Qt用来处理事件的一种处理机制,我们不能把它混为一谈。原创 2022-06-29 14:48:25 · 531 阅读 · 0 评论 -
Qt的信号与槽
在GUI编程中,组件组件如何实现通信是核心的技术内容。Qt使用了信号与槽的机制,为此Qt引入了一些关键字slots、signals、emit,这些都是Qt特有的关键字,然后这些关键字会被Qt的moc转换位标准的C++语句。...原创 2022-06-29 11:29:50 · 4526 阅读 · 0 评论 -
Qt中的UI文件介绍
.ui通常是指Qt设计师设计出来的界面文件的后缀,它本质上是一个标准XML格式的文本文件,需要通过uicuic工具将其转换为项目中可用的ui\_*.hui_∗.h头文件原创 2022-06-28 15:02:26 · 11165 阅读 · 2 评论 -
Windows的内存管理机制
内存管理方式建议大家多看看计算机组成原理,回过头来看windows的内存管理机制就能更好的明白windows为啥这么做~而不是直接让你操作物理内存原创 2022-06-27 17:06:36 · 3102 阅读 · 0 评论 -
Windows中的Hook机制
windows中的Hook技术被广泛应用于安全的多个领域,比如杀毒软件的主动防御功能,涉及到对一些敏感API的监控,就需要对这些API进行Hook;窃取密码的木马病毒,为了接收键盘的输入,需要Hook键盘消息;甚至是Windows系统及一些应用程序,在打补丁时也需要用到Hook技术。接下来,我们就来学习Hook技术的原理。...原创 2022-06-27 11:39:57 · 4290 阅读 · 0 评论 -
windows消息机制学习
windows程序是使用事件驱动的程序设计模式,主要就是基于消息的和DOS系统直接操纵硬盘不同,消息系统对于window程序来说十分重要,它是程序运行的源泉原创 2022-06-24 11:58:46 · 610 阅读 · 0 评论 -
C++的泛型编程
屏蔽掉数据和操作数据的细节,让算法更为同意通用,让编程者更多地关注算法的结构,而不是在算法中处理不同的数据类型原创 2022-06-23 17:36:14 · 936 阅读 · 0 评论 -
C++ STL容器底层实现原理
C++ 常用STL容器的一些基本知识原创 2022-06-22 16:05:40 · 2197 阅读 · 0 评论 -
C++的封装、继承、多态
C++封装、继承、多态总结原创 2022-06-22 14:56:57 · 1708 阅读 · 1 评论 -
C++类构造函数&析构函数
1、类的构造函数的类的一种特殊的成员函数,它会在每次创建类的新对象时执行2、C++的拷贝构造函数是构造函数的一种,是对类对象的初始化,拷贝构造函数只有一个参数就是本类的引用 3、类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行...原创 2022-06-22 09:39:32 · 298 阅读 · 0 评论 -
C++中指针与引用的区别
指针是一个变量,存储的是一个地址,指向内存的一个存储单元引用是原变量的一个别名原创 2022-06-22 08:57:29 · 263 阅读 · 0 评论