Loading

随笔分类 -  C++

摘要:[TOC] spdlog是一个开源、跨平台、无依赖、只有头文件的C++11日志库,网上介绍的文章有很多这里就不过多的介绍了,GitHub链接:[https://github.com/gabime/spdlog](https://github.com/gabime/spdlog)。 # 引用源码 先下 阅读全文
posted @ 2023-08-26 14:17 二次元攻城狮 阅读(2037) 评论(1) 推荐(0) 编辑
摘要:[TOC] 本文主要介绍ImGui应用中的一些界面优化方法,如果是第一次使用ImGui推荐从上一篇文章开始:[使用C++界面框架ImGUI开发一个简单程序](https://www.cnblogs.com/timefiles/p/17632348.html),最终的界面效果如下: ![image]( 阅读全文
posted @ 2023-08-25 20:24 二次元攻城狮 阅读(6568) 评论(2) 推荐(2) 编辑
摘要:[TOC] # 简介 ImGui 是一个用于C++的用户界面库,跨平台、无依赖,支持OpenGL、DirectX等多种渲染API,是一种即时UI(Immediate Mode User Interface)库,保留模式与即时模式的区别参考[**保留模式与即时模式**](https://learn.m 阅读全文
posted @ 2023-08-15 21:03 二次元攻城狮 阅读(14940) 评论(0) 推荐(6) 编辑
摘要:本文的代码都是ChatGPT生成,我只是做了微小的调整和整合,AI提示词如下: 设计一个C++类,支持生产者-消费者模型,可以通过size函数获取剩余数量 可能第一次生成的不一定合适,多刷新几次。 生成的ProducerConsumerQueue.h代码如下: #ifndef PRODUCER_CO 阅读全文
posted @ 2023-04-27 23:02 二次元攻城狮 阅读(555) 评论(0) 推荐(0) 编辑
摘要:指定ID 在类中声明并定义按钮控件的起始ID,以控件的类型和功能对动态控件ID进行分组,每组最好定义一个自己的起始ID方便管理: #define IDC_CONTROL_START 1000 #define IDC_BTN_START IDC_CONTROL_START+100 #define ID 阅读全文
posted @ 2022-11-20 20:45 二次元攻城狮 阅读(1331) 评论(1) 推荐(0) 编辑
摘要:文章的原作者为 https://blog.csdn.net/qq_37529913?type=blog C++ STL 容器、迭代器、适配器(深入了解,一文学会) 1、STL容器 2、序列式容器 2.1、array容器 2.2、vector容器 2.3、deque容器 2.4、list容器 2.5、 阅读全文
posted @ 2022-11-15 21:32 二次元攻城狮 阅读(57) 评论(0) 推荐(0) 编辑
摘要:sstream与strstream 在C++有两种字符串流,一种在<strstream>中定义,另一种在<sstream>中定义,两者的区别如下: strstream里包含strstreambuf、istrstream、ostrstream、strstream,是基于C类型字符串char*编写的,如 阅读全文
posted @ 2022-10-26 22:37 二次元攻城狮 阅读(127) 评论(0) 推荐(0) 编辑
摘要:笔记参考 本文参考的一些学习笔记: C++转换函数(conversion function) C++转换函数 (conversion function)与 C++中explicit关键字 pointer-like classes, 关于智能指针 C++之Function-Like Classes,仿 阅读全文
posted @ 2022-09-25 18:04 二次元攻城狮 阅读(67) 评论(0) 推荐(0) 编辑
摘要:笔记参考 一些候捷C++视频比较完善的学习笔记,可以参考学习一下: 侯捷C++(complex类) 侯捷C++(String类) C++面向对象高级开发(侯捷)——三大函数:拷贝构造,拷贝赋值,析构 7. 三大函数:拷贝构造函数,拷贝赋值函数, 析构函数 8. 堆、栈与内存管理 c++扩展补充:类模 阅读全文
posted @ 2022-09-19 23:14 二次元攻城狮 阅读(304) 评论(0) 推荐(0) 编辑
摘要:这篇文章只是笔记性质,没有实际的原创内容,主要是做一下方案的备份。 串口通讯使用开源的 CSerialPort 类,我使用的是Windows版本分支: CSerialPort 跨平台 CSerialPort Windows版本分支 //1.串口开启 if (m_SerialPort.InitPort 阅读全文
posted @ 2022-07-31 21:22 二次元攻城狮 阅读(634) 评论(0) 推荐(0) 编辑
摘要:MFC里面的CStatusBar是没法自定义文字颜色的,需要我们自己绘制。这篇文章是在 Display colored text on Status Bar 代码的基础上进行改进的,使用起来更方便。 实现新建一个单文本框架的MFC程序,如下图所示: 在MainFrm.h中,在类定义之前引入头文件: 阅读全文
posted @ 2022-07-31 20:24 二次元攻城狮 阅读(211) 评论(0) 推荐(0) 编辑
摘要:Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。 闭包就是能够读取其他函数内部变量的函数,可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。 阅读全文
posted @ 2022-07-27 00:21 二次元攻城狮 阅读(580) 评论(0) 推荐(0) 编辑
摘要:HP-Socket 是一套通用的高性能 TCP/UDP /HTTP 通信 框架 ,包含服务端组件、客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP /HTTP 通信系统,提供 C/C++ 、 C# 、 Delphi 、 E (易语言)、 Java 、 Python 等编程语言接口。 HP-Socket包含30多个组件 ,可根据通信角色Client/Server)、通信协议TCP/UDP/HTTP)和接收模型PUSH/PULL/PACK)进行归类,支持PUSH、PULL和PACK三种接收模型。 阅读全文
posted @ 2021-11-11 22:50 二次元攻城狮 阅读(4137) 评论(3) 推荐(2) 编辑
摘要:在C++中,一般使用gSOAP来实现客户端、服务端。然而,对小项目来说gSOAP太大了,也不太方便。我们完全可以自己实现SOAP协议,毕竟SOAP协议的本质就是:Http协议+XML。 文章C++中gSOAP的使用介绍了gSOAP的使用,本文就以它的服务端为例,实现一个SOAP客户端。这里需要使用下面两个库:cpp-httplib、tinyxml2。 阅读全文
posted @ 2021-11-03 00:11 二次元攻城狮 阅读(1106) 评论(0) 推荐(1) 编辑
摘要:C++中字符串有很多种类,详情参考C++中的字符串类型。本文主要以string类型为例,讲一下字符串的编码,选择string主要是因为: byte是字符串二进制编码的最小结构,字符串本质上就是一个byte数组; C++没有byte类型,第三方的byte类型通常是char实现的; char可以直接转换成string,也就是说byte直接转string。 阅读全文
posted @ 2021-09-21 21:58 二次元攻城狮 阅读(2221) 评论(0) 推荐(0) 编辑
摘要:本文主要介绍C++中gSOAP的使用方法,附带介绍SOAP协议的基础知识,适用于第一次使用gSOAP的开发人员。gSOAP官网上的示例代码存在一些错误,对初次接触的人不太友好,本文是在官方示例calc++的基础上进行了一些补充、改动。 SOAP 是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息,具体内容可以参考SOAP 教程。SOAP的本质是通过HTTP协议以XML格式进行数据交互,只不过这个XML格式的定义是大家公认的。 使用SOAP时需注意,SOAP的XML命名空间由于版本的不同可能存在差异(如soapevn、SOAP-ENV),在调用SOAP服务前最好确认服务器的XML格式。 阅读全文
posted @ 2021-08-30 21:54 二次元攻城狮 阅读(4899) 评论(5) 推荐(1) 编辑
摘要:Easylogging++ 是用于 C++ 应用程序的单头高效日志库。它非常强大,高度可扩展并且可以根据用户的要求进行配置。github链接:https://github.com/amrayn/easyloggingpp。 Easylogging++ 在v9.89版只有一个头文件,之后改为一个头文件、一个源文件,目前最新版本是v9.97(本文使用的版本)。 阅读全文
posted @ 2021-08-19 23:37 二次元攻城狮 阅读(4897) 评论(0) 推荐(0) 编辑
摘要:头文件:" " 与 <>的区别,带 .h 和不带 .h 的区别,带 c前缀 和不带 c前缀 的区别。 宏定义:特殊符号#、##、#@,防止一个头文件被重复包含,do-while 作用,undef 的用法,函数外部加括号。 阅读全文
posted @ 2021-06-17 23:01 二次元攻城狮 阅读(225) 评论(0) 推荐(0) 编辑
摘要:数值范围、数值类型与string互相转换、CString与string间的互相转换、CString与数值类型间的互相转换、转换工具类 阅读全文
posted @ 2021-06-14 11:43 二次元攻城狮 阅读(1227) 评论(0) 推荐(0) 编辑
摘要:STL(Standard Template Library)、容器(container)、仿函数(functor)、算法(algorithm)、迭代器(iterator)、容器适配器(adapter)、空间配置器(allocator)、STL总结、关于Boost库、多线程、推荐基本C++的书籍。 阅读全文
posted @ 2021-06-10 22:55 二次元攻城狮 阅读(312) 评论(0) 推荐(0) 编辑