C++基础学习
文章平均质量分 50
分享C++的部分重难点知识点,从自己理解的角度给大家分享
不会编程的-程序猿
这个作者很懒,什么都没留下…
展开
-
C++软件开发,安装运行程序后SetUnhandledExceptionFilter无法捕获异常问题
自 VC++2005 开始出于安全因素微软改变了 CRT 的行为,导致 CRT 不会通知被注册的 Unhandled Exception Filter。在注册 Unhandled Exception Filter 后调用 DisableSetUnhandledExceptionFilter() 函数,之后所有对 SetUnhandledExceptionFilter 的调用都将无效。CRT 对SetUnhandledExceptionFilter 的调用也将无效。原创 2023-06-29 18:17:50 · 616 阅读 · 4 评论 -
Qt之QMainWindows界面最小化到任务栏
Qt原创 2022-07-05 18:42:57 · 1799 阅读 · 2 评论 -
设计模式的七大原则
软件设计模式的原则原创 2022-07-18 11:29:33 · 72 阅读 · 0 评论 -
Qt之QtConcurrent
一 什么是QtConcurrent?Concurrent是并发的意思,而QtConcurrent同std一样,是一个命名空间(namespace)。提供了一些高级的 API,使得在编写多线程的时候,无需使用低级线程原语,如读写锁,等待条件或信号。使用QtConcurrent编写的程序会根据可用的处理器内核数自动调整使用的线程数。对于QtConcurrent真正要学习的是该命名空间下定义的函数。下面要讲的就是QtConcurrent::run函数的使用方法。二 QtConcurrent::run(原创 2022-04-27 10:35:49 · 12266 阅读 · 0 评论 -
使用windeployqt.exe加载Qt项目运行所需的动态链接库.dll
使用windeployqt.exe加载Qt项目运行所需的动态链接库.dll提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档提示:以下是本篇文章正文内容,下面案例可供参考一、新建文件夹以release模式运行项目后,在项目的release文件夹下找到对应的exe文件,新建文件夹,并将需要加载动态库的exe文件放入到新建文件夹中。二、配置环境变量将windeployqt.exe文件所在文件夹目录添加到环境变量path中,找到自己Qt的安装目录。Qt->Qt5.9.8->原创 2022-04-22 09:33:22 · 923 阅读 · 0 评论 -
Echarts绘制极坐标热力图
【代码】Echarts绘制极坐标热力图。转载 2023-03-15 19:56:17 · 1002 阅读 · 0 评论 -
在当前目录下打开命令行提示符cmd
打开命令提示符cmd原创 2022-07-05 14:09:42 · 335 阅读 · 1 评论 -
Qt之ThreadPool
1.为什么要使用线程池每次创建线程需要向系统申请资源,线程切换时操作系统会切换线程上下文,可能会从用户态切换到内核态,当有很多线程时,频繁地切换线程会导致消耗大量的 CPU 以及内核资源,反而会降低程序的效率。2.线程池的作用线程并不是越多越好,线程池的作用是管理、复用、回收一组线程,控制线程的数量,避免频繁的创建和销毁线程而浪费资源。3.线程池的工作流程4.线程池的使用步骤QThreadPool类为Qt提供的线程池函数,使用此类只需要配置线程池的最大线程数量、线程长时间不使用的过期时原创 2022-04-26 15:28:20 · 887 阅读 · 0 评论 -
C++/Qt 未加载xxx.pdb文件
C++ 未加载pdb文件原创 2023-03-10 10:09:21 · 1661 阅读 · 1 评论 -
C++ 内存泄漏检查与定位
C++ 内存泄漏检查原创 2023-03-10 09:57:26 · 118 阅读 · 0 评论 -
C++软件开发 生成dump文件
C++生成dump文件原创 2023-03-10 09:51:06 · 464 阅读 · 0 评论 -
C++/QT 生成Log文件
C++/Qt生成Log文件原创 2023-03-10 09:48:13 · 295 阅读 · 0 评论 -
C++调用MATLAB打包动态dll文件方法
C++与Matlab混合编程原创 2022-11-09 14:52:33 · 2154 阅读 · 0 评论 -
面向对象编程思想的理解
面向对象编程思想的理解原创 2022-11-09 11:12:33 · 122 阅读 · 0 评论 -
VS2019中 C++项目属性配置
VS2019中 C++项目属性配置原创 2022-11-08 10:56:45 · 4208 阅读 · 0 评论 -
Qt崩溃:ASSERT failure in QWidget:“Widgets must be created in the GUI thread“
原因由于Qt规定了UI主线程只有一个,在另外一个线程生成UI相关对象或对其进行相关操作。例如QWidget或其子类的构造和相关操作,都会出现此断言错误 。可以使用信号槽机制来解决此问题。本人报此错误原因:在子线程中使用了messagebox导致的崩溃。if (QMessageBox::Ok == QMessageBox::warning(this, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("文件类型错误"))) return;.原创 2022-05-13 09:47:09 · 1808 阅读 · 0 评论 -
C++:共享指针shared_ptr的理解与应用
文章目录前言一、shared_ptr的理解二、shared_ptr的初始化2.1.构造函数构造2.2.make_shared辅助函数三、shared_ptr常用函数四 、注意4.1.常见错误(注意以下代码全是错误代码)五、文章分享前言大家好,我是不会编程的程序猿,下面我将分享C++中的一个重要知识点,共享指针shared_ptr的理解和应用一、shared_ptr的理解智能指针shared_ptr 是存储动态创建对象的指针,其主要功能是管理动态创建对象的销毁,从而帮助彻底消除内存泄漏和悬空指针原创 2022-04-28 16:01:52 · 35722 阅读 · 3 评论 -
C++11多线程编程——lock_guard和unique_lock
如果熟悉C++多线程的童鞋可能有了解到实现的互斥锁的机制还有这个写法lock_guard<mutex> guard(mt);那么这句话是什么意思呢?为什么又要搞个这样的写法呢?这个也是构造互斥锁的写法,就是会在lock_guard构造函数里加锁,在析构函数里解锁,之所以搞了这个写法,C++委员会的解释是防止使用mutex加锁解锁的时候,忘记解锁unlock了。#include <iostream>#include <thread>#include <转载 2022-04-25 22:00:28 · 423 阅读 · 0 评论 -
C++11多线程编程——互斥锁mutex用法
前言编程世界中学习一个新的技术点,一定要明白一件事,为什么要出现这个技术点,只有弄懂了这个才能从根本上有学习的动力。那么为什么要出现多线程锁这个东西呢?一句话概括的话。为了保证数据的准确性!计算机就是为了计算数据才诞生的,如果不能保证数据准确的话,任何技术都只是空中楼阁,多线程技术也是一样,那么为什么多线程会让数据不准确呢?大家可以看下以下的这个例子#include <iostream>#include <thread>#include <string>转载 2022-04-25 21:54:35 · 492 阅读 · 0 评论 -
C++中的回调函数
文章目录前言一、什么是函数指针二、回调函数的概念和应用2.1 回调函数的概念2.读入数据总结前言大家好,我是不会编程的程序猿,下面我将分享C++中的一个重要知识点,回调函数的理解和应用。一、什么是函数指针指针是一个用来指向内存地址的变量。程序运行时,与程序运行相关的所有变量或函数都需要加载内存,这就决定了程序运行时所有变量或函数都可以用指针来加载。函数是存放在内存代码区域内的,它们同样有地址,因此可以用指针来调用函数,我们把这种指向函数入口地址的指针称为函数指针。int add(int n原创 2022-04-25 09:03:39 · 1378 阅读 · 0 评论