![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 91
宁静致远2021
天道酬勤,持之以恒。
发上等愿,结中等缘,享下等福;
择高处立,寻平处住,向宽处行。
展开
-
Qt QQueue 详解:从底层原理到高级用法
在现代软件开发中,数据结构和算法扮演着至关重要的角色。它们为程序员提供了处理各种不同场景下数据的有效方法。QQueue(队列)是一种常见且实用的数据结构,它在许多应用中都发挥着关键作用。本文将简要介绍QQueue的重要性和简介。队列(Queue)是一种遵循先进先出(FIFO,First In First Out)原则的线性数据结构。在这种结构中,元素的添加(入队)和移除(出队)操作分别在队列的尾部和头部进行。这种特性使得队列在处理一些需要按顺序执行任务的场景中表现出优越性。原创 2024-06-09 22:31:01 · 682 阅读 · 0 评论 -
C++ 运算符重载
这些指针是行为与正常指针相似的对象,唯一不同的是,通过指针访问对象时,它们会执行其它的任务(比如,当指针销毁时,或者当指针指向另一个对象时,会自动删除对象)。C++ 使用流提取运算符(>>)和流插入运算符( 和原创 2024-03-24 15:29:42 · 826 阅读 · 1 评论 -
Qt、C/C++环境中内嵌LUA脚本、实现LUA函数的调用执行
LUA是一个脚本语言,由标准C编写而成,几乎在所有操作系统和平台上都可以编译、运行,可以很方便的嵌入到其他C/C++环境中,如Qt、VS2012等。一般的lua脚本文件的后缀为.lua,移植lua源码异常的简单,下载源码包后,直接编译即可,因为上面我们说过了LUA是用标准C编写的,所以几乎你常见的编程环境它都能编译LUA。LUA源码下载地址: http://www.lua.org/ftp/下载lua-5.1.5.tar.gz然后解压。原创 2023-08-02 13:45:22 · 1678 阅读 · 0 评论 -
C++和Lua交互总结
Lua和C++是通过一个虚拟栈来交互通信的。由C++先把函数名、变量名、table中键放入栈中,然后把函数名、变量名、table中键出栈,并返回对应的值到栈顶,再由栈顶返回C++。Lua调C++:**Lua调用C++的函数:**先把普通的C++函数包装成Lua_CFunction格式,然后注册函数到Lua解释器中,然后由Lua去调用这个模块的函数。原创 2023-08-01 16:06:26 · 2136 阅读 · 0 评论 -
编译防火墙--C++的Pimpl惯用法解析
编译防火墙--C++的Pimpl惯用法解析编译防火墙--C++的Pimpl惯用法解析(1)禁止复制类(2)显示定义复制语义编译防火墙–C++的Pimpl惯用法解析原文链接:https://blog.csdn.net/lihao21/article/details/47610309Pimpl(pointer to implementation, 指向实现的指针)是一种常用的,用来对“类的接口与实现”进行解耦的方法。这个技巧可以避免在头文件中暴露私有细节(见下图 1),因此是促进 API 接口与实现保原创 2022-05-19 10:37:03 · 495 阅读 · 0 评论 -
C++“接口“与“实现“分离的两种方法
C++ “接口”与“实现”分离的两种方法C++ “接口”与“实现”分离的两种方法接口需求接口与实现分离Pimpl Idiom手法Object Interface手法总结C++ “接口”与“实现”分离的两种方法原文链接:https://blog.csdn.net/TAOKONG1017/article/details/79561856接口需求在软件开发这个行业中,一个较大的软件项目,一般由几个小组共同开发完成,为了将小组之间的影响降低到最低,定义好接口势在必行,如若要求短时间开发完成,定义好接口更是原创 2022-05-18 09:07:54 · 1373 阅读 · 0 评论 -
Lua调用C++
Lua调用C++Lua调用C++具体过程为:Lua部分的代码如下:运行结果程序运行时栈內变化回到C++调用Lua上述是读取过程,然后可以在C++中修改table中的值lua调用C++函数一、C++的函数定义二、注册函数三、C模块四、luaL_openlibs源码解析Lua调用C++原文链接:https://blog.csdn.net/weixin_42111061/article/details/110310412接上一篇文章:C++调用Lua本文在上一篇文章的基础上,使用Lua调用C++。使用文原创 2022-04-29 09:25:51 · 4365 阅读 · 0 评论 -
C++RAII机制
C++RAII机制C++RAII机制什么是RAII?为什么要使用RAII?小结如何使用RAII?C++之RAII技术解析C++RAII机制原文链接:https://blog.csdn.net/quinta_2018_01_09/article/details/93638251什么是RAII?RAII是Resource Acquisition Is Initialization(wiki上面翻译成 “资源获取就是初始化”)的简称,是C++语言的一种管理资源、避免泄漏的惯用法。利用的就是C++构造的对原创 2022-04-29 08:46:13 · 374 阅读 · 0 评论 -
C++ 主流报表框架
C++ 主流报表框架报表框架NCReportCuteReportKD ReportsLimeReportQtRPTQT报表选型(QT报表系列1)QT 使用开源报表 LimeReport 配置笔记 - Windows版Qt开源报表limereport备忘录QT报表Limereport v1.5.35编译及使用limereport报表使用Qt报表控件NCReport教程:添加报表字段原文链接:https://blog.csdn.net/liang19890820/article/details/105071原创 2022-03-17 08:51:14 · 2117 阅读 · 0 评论 -
C++ API设计笔记
C++ API设计笔记1. API简介1.1 什么是API1.2 API设计上有什么不同1.3 为什么要使用API1.4 何时应当避免使用API1.5 API示例1.6 文件格式和网络协议2. 特征2.1 问题域建模2.2 隐藏实现细节2.3最小完备性2.4易用性2.5 松耦合3. 模式(1).创建型模式(2).结构型模式(3).行为模式3.1 Pimpl惯用法3.2 单例3.3 工厂模式3.4 API包装器模式3.5 观察者模式4. 设计4.1 良好设计的例子4.2 收集功能性需求4.3 创建用例4.4原创 2022-03-14 16:20:45 · 642 阅读 · 0 评论 -
QCustomPlot设置游标
QCustomPlot设置游标void MainWindow::on_pBtn_Add_Youbiao_X_clicked(){QVector cursorX;QVector cursorY;QVector cursorX2;QVector cursorY2;QVector cursorX3;QVector cursorY3;QVector cursorX4;QVector cursorY4;double xLabel_left;double xLabel_right;double原创 2021-09-24 10:55:19 · 2016 阅读 · 0 评论 -
QCustompPlot简明使用教程
QCustompPlot绘制曲线1. 前言1.1 简单介绍QCustomPlot的几个重要类QCustomPlot 图表类:用于图表的显示和交互简单介绍QCustomPlot类1.2层和层元素布局和布局元素1. 前言QCustomPlot 是一个基于Qt的画图和数据可视化C++控件。QCustomPlot 致力于提供美观的界面,高质量的2D画图、图画和图表,同时为实时数据可视化应用提供良好的解决方案。QCustomPlot是一个小型的Qt画图标类,支持绘制静态曲线、动态曲线、多重坐标曲线,柱状图,蜡烛原创 2021-09-23 09:13:22 · 5295 阅读 · 0 评论 -
设计模式六大原则之一:依赖倒置原则(DIP :Dependence Inversion Principle)
设计模式六大原则之一:依赖倒置原则(DIP :Dependence Inversion Principle)定义由来解决方案优点思考注意点示例定义高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。也就是说高层模块,低层模块,细节都应该依赖抽象1、C++中什么是依赖倒置原则?依赖倒置原则定义:依赖于抽象(接口),不要依赖具体的实现(类),也就是针对接口编程。2、依赖倒置原则的图解。3、你需要知道C++中的一个重要特性:高内聚,低耦合。高内聚,低耦合。原创 2021-09-14 07:52:11 · 476 阅读 · 0 评论 -
设计模式六大原则之--开闭原则(OCP)
设计模式六大原则之--开闭原则(OCP)前言描述前言The Open - Closed Principle, OCP软件尸体(类、模块、方法等)应该对扩展开放,但是对修改关闭。描述遵循开放-关闭原则设计出来的模块具有两个主要的特征。“对扩展开放”(Open for extension)这意味着模块的行为是可以扩展的。 当应用的需求改变是,我们可以对模块扩展,让它可以具备满足那些改变的新行为。换句话说,我们可以改变模块的功能。“对更改关闭”(Closed for modification)对原创 2021-09-13 09:08:37 · 2027 阅读 · 0 评论 -
C++中引用解说(C++ Primer笔记)
C++中引用解说(C++ Primer笔记)***第一部分:参数传递***1. 传递引用参数2. 使用引用避免拷贝3. 使用引用形参返回额外信息(函数需要多个返回值)4. const形参和实参第二部分:转载一第一部分:参数传递1. 传递引用参数对于引用的操作,实际上是作用在引用所引的对象上。引用形参的行为与之类似,通过使用引用形参,允许参数改变一个或者多个实参的值。2. 使用引用避免拷贝拷贝大的类类型对象或者容器对象比较低效,甚至有的类类型(包括IO类型在内)根本就不支持拷贝操作。当某种类型不支原创 2021-08-26 11:58:37 · 164 阅读 · 0 评论 -
C++拷贝构造函数
C++拷贝构造函数1. 什么是拷贝构造函数?2. 浅拷贝和深拷贝的区别2.1 浅拷贝2.2 深拷贝3. 在C++中,下面三种情况需要调用拷贝构造函数3.1 一个对象作为函数参数,以值传递的方式传入函数体3.2 一个对象作为函数返回值,以值传递的方式从函数返回3.3 一个对象用于给另外一个对象进行初始化(常称为赋值初始化)4. 为什么拷贝构造函数的参数一定要使用引用?5. 防止默认拷贝发生1. 什么是拷贝构造函数?定义:如果一个构造函数的第一个参数是自身类型的引用,且任何额外参数都有默认值,则此构造函数原创 2021-08-26 10:41:30 · 400 阅读 · 0 评论