C++:使自定义类支持迭代器

概述在 C++ 中,链表迭代器是一种用来遍历链表(如 std::list)元素的工具。链表是一种数据结构,其中每个元素(节点)包含一个数据值和一个指向下一个节点的指针。链表迭代器允许以类...

2024-09-10

C#整合Ollama实现本地LLMs调用

前言 近两年AIGC发展的非常迅速,从刚开始的只有ChatGPT到现在的很百家争鸣。从开始的大参数模型,再到后来的小参数模型,从一开始单一的文本模型到现在的多模态模型等等。随...

2024-09-09

用GDI+旋转多边形来绘制一个时钟摸拟小程序

效果图在头文件类中声明变量TCHAR m_dayStr[4];    // 日期 TCHAR m_weekStr[4];  // 星期 Gdiplus::Font* m_pFont;  // 字体 Gdiplus::StringFormat m_s...

2024-08-22

智能指针相关:enable_shared_from_this()在开发中的常见应用

类中使用shared_ptr()的问题当我们先定义一个指针,然后再用这个指针构造两个智能指针int main(){ int* pt = new int(); std::shared_ptr<int> p1(pt); std::shared_ptr<i...

2024-08-20

Cython与C函数的结合

技术背景在前面一篇博客中,我们介绍了使用Cython加速谐振势计算的方法。有了Cython对于计算过程更加灵活的配置(本质上是时间占用和空间占用的一种均衡),及其接近于C的性能,并且...

2024-07-25

WPF/C#:程序关闭的三种模式

ShutdownMode枚举类型介绍ShutdownMode是一个枚举类型,它定义了WPF应用程序的关闭方式。这个枚举类型有三个成员: OnLastWindowClose:当最后一个窗口关闭或者调用System.Window...

2024-06-12

C++ AVL树的两单旋和两双旋的项目实践

目录1. 新节点插入较高左子树的左侧---左左:右单旋代码2. 新节点插入较高右子树的右侧---右右:左单旋 代码3. 新节点插入较高左子树的右侧---左右:先左单旋再右单旋代码 4. 新...

2024-06-09

C++ DLL实现循环播放音乐的示例详解

当DLL被插进其他应用程序后,将会重复播放音乐,并且将音量锁定在40示例代码dllmain.cpp : 定义 DLL 应用程序的入口点。#include "stdafx.h"#include<mciapi.h>#pragma comment...

2024-06-09

C++之内存分区的实现示例

C++程序在执行时,将内存大方向划分为4个区域1.代码区:存放函数体的二进制代码,由操作系统进行管理;
2.全局区:存放全局变量和静态变量以及常量;
3.栈区:由编译器自动分配释放, 存放...

2024-06-09

C++用一棵红黑树同时封装出set与map的实现代码

目录前言1.红黑树模板参数的控制2.红黑树节点的定义 3.pair的比较规则引出红黑树仿函数设计4.红黑树的正向迭代器 4.1迭代器的定义 4.2迭代器的构造 4.3重载解引用操作符 *...

2024-06-09

C++ Qt开发之使用QUdpSocket实现UDP网络通信

目录1.初始化部分2.单播与广播消息单播(Unicast)广播(Broadcast)Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组...

2024-06-09

QT读写Sqlite数据库的三种方式

目录1、首先使用QSqlQuery来访问2、使用QSqlQueryModel来访问3、最后使用QSqlTableModel来访问QT对一些基本的数据库的访问封装,可谓是极大的方便的我们开发人员,现在我们就来...

2024-06-09

C++中的unordered_map用法

目录1. 概述2. 包含头文件3. 声明和初始化4. 插入和访问元素5. 删除元素6. 查找元素7. 遍历元素当你在C++中需要使用哈希表(无序映射)来管理键值对时,unordered_map 是一个非常...

2024-06-09

C++野指针的具体实现

目录出现野指针的情况主要有三种:规避方法:实例1实例2野指针就是指针指向的不是一个有效(合法)的地址。
在程序中,如果访问野指针,可能会造成程序的崩溃。出现野指针的情况主要有...

2024-06-09

C语言左旋字符串的三种实现方式

题目:实现一个函数,可以左旋字符串中的k个字符。例如:
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB方法一:我们画个图分析一下:基本逻辑:就是我们每一次旋转之前,我们就取...

2024-06-09

C++使用extern实现源文件变量与类成员函数的巧妙共享

概述:在C++中,使用`extern`关键字可实现在源文件之间共享变量与类成员函数。通过声明变量或类在头文件中,再在一个源文件中定义,其他源文件通过`extern`引用,促使模块化、可维护...

2024-06-09

c++使用regex报错regex_error两种解决方案

目录boost::regex使用demoinet_pton函数来尝试将IP地址解析为IPv4或IPv6地址总结 原本写了个同时识别IPv4和IPv6地址的C++函数:#include <iostream>#include <regex>bool is_...

2024-06-09

C++中的strcmp函数

目录简介字符串排序简介在C++中,字符串比较是一项常见的操作,用于判断两个字符串是否相等或者大小关系。strcmp函数是C++标准库中用于字符串比较的重要函数。strcmp函数:字符串...

2024-06-09

C语言判断字符串是否回文三种方法实例

目录1.法一2.法二3.法三总结 回文的概念:顺读和倒读是一样的比如:12321 madam 上海自来水来自海上 1.法一#include<stdio.h>#include<string.h>int main...

2024-06-09

详解C语言整数和浮点数在内存中的存储

目录1. 整数在内存中的存储2. 大小端字节序和字节序判断2.1 什么是大小端?2.2 为什么有大小端?3. 浮点数在内存中的存储3.1 浮点数的存储3.1.1 浮点数存的过程3.1.2 浮点数取...

2024-06-09

一文掌握C语言中的柔性数组

目录何为柔性数组(Flexible Array)1.柔性数组的特点2.柔性数组的创建和简单使用 3.柔性数组的优势优势 1 :方便内存释放优势 2 :提升性能何为柔性数组(Flexible Array)柔性数组在C...

2024-06-09

QT结合百度Ai实现车牌识别

目录1.申请网页2.创建应用3.获取AK与SK4.根据AK与SK获取token5.图片转Base646.示例代码7.效果展示1.申请网页https://cloud.baidu.com/product/ocr_cars/plate2.创建应用3....

2024-06-09

使用C语言实现绘制立体分离式环图

立体统计图表绘制方法(分离式环形图)记得我学统计学的时候,那些统计图表大都是平面的框框图,很呆板,就只是表现出统计的意义就好了。在网络科技发展进步的当下,原来一些传统的统计...

2024-06-09

C语言中strcpy和strcat的使用和模拟实现

目录一,strcpy()函数二,strcat()函数三,strncpy()函数四,strcpy的模拟实现五,strcat的模拟实现一,strcpy()函数strcpy() 函数是 C语言中一个非常重要的字符串处理函数,其功能是将一个...

2024-06-09

C++整数拼接技巧大揭秘

目录问题描述:输入格式:输出格式:规定:分析:C++程序:问题描述:给定一个长度为n的数组,A1,A2,...,An你可以从中选出两个数Ai和Aj(i&ne;j),然后将Ai和Aj一前一后拼成一个新的整数。例...

2024-06-09

C++ 用红黑树模拟实现set、map的示例代码

前言及准备:set、map的底层结构是红黑树,它们的函数通过调用红黑树的接口来实现,红黑树一些接口需要通过树形迭代器来实现。set是k模型,map是kv模型,红黑树要不要写两份呢?答案是...

2024-06-09

C/C++实现MD5校验学习

目录1.MD5用途2.原理介绍1. 对输入的数据进行填充2. 填入输入信息的长度3.数据处理,输出结果3.linux指令获取MD54.通过c语音计算MD5值1.结构体定义2.常数初始化3.数据处理以...

2024-06-09

vscode使用cmake时将命令行参数传递给调试目标的方法

目录一、简介二、方法三、参考一、简介本文介绍了在vscode中使用cmake工具时,如何传递参数给编译目标的方法。
前提:使用vscode+cmake编译C/C++程序。二、方法在.vscode/目录...

2024-06-09

C语言实现绘制立体饼图的示例代码

立体统计图表绘制方法(饼图)记得我学统计学的时候,那些统计图表大都是平面的框框图,很呆板,就只是表现出统计的意义就好了。在网络科技发展进步的当下,原来一些传统的统计图表都有...

2024-06-09

C++实现获取系统时间的方法小结

目录Linux方法一方法二Windows方法一方法二方法三Linux方法一使用time.h中的gettimeofday(),示例代码如下,#include <iostream>#include <sys/time.h> int main() { struct...

2024-06-09

C++中std::deque的使用

目录1. std::deque2. 特点3. 基本用法4. 例程1. std::dequestd::deque 是 C++ 标准库中的一个双端队列容器。这个容器支持在序列的两端进行快速的插入和删除操作,其时间复杂...

2024-06-09

C++大整数加法解题思路及参考代码

目录题目输入输出样例输入样例输出解题思路参考代码附:c++ 大整数加法、减法、乘法总结 题目输入输入数据有多组。首先输入一个整数T,表示有T组输入。每组输入两个大整数,并用...

2024-06-09

C语言实现切片数组的示例详解

目录前言一、接口定义1、创建切片2、销毁切片3、添加元素4、切片长度5、切片容量二、完整代码slice.hslice.c三、使用示例1、一般使用流程2、直接append3、自定义类型总结前...

2024-06-09

通过c语言调用系统curl动态库的示例详解

目录准备工作编写代码编译程序运行程序小结在本文中,我们将通过一个简单的示例来讲解如何在Ubuntu系统中通过C语言调用动态库(共享库)的方法。我们将使用libcurl库,这是一个基于...

2024-06-09

详解C++标准库中处理正则表达式的类std::regex

std 是 C++ 标准库的命名空间,包含了大量标准的 C++ 类、函数和对象。这些类和函数提供了广泛的功能,包括输入输出、容器、算法、字符串处理等。通常,为了使用标准库中的对象和...

2024-06-09

C++函数三种传参形式(指针传递、引用传递、值传递)

目录前言指针传递变量形式、函数原型及对应传参形式:解释:引用传递变量形式、函数原型及对于传参形式:解释:值传递变量形式、函数原型及对应传参形式:解释:总结:前言不论是哪种参数...

2024-06-09

C++实现map和set封装详解

目录前言 主体map/set底层原理map/set定义map/set仿函数map/set插入map/set迭代器迭代器的定义解引用操作成员访问操作符!=、==begin() 与 end()迭代器的++迭代器的--源代...

2024-06-09

C++中虚表是什么意思(概念及示例)

目录定义虚函数(Virtual Function)虚函数表(Virtual Function Table)虚函数指针(Virtual Pointer)示例面试题虚函数表,以及虚函数指针是实现多态性(Polymorphism)的关键机制。多态性...

2024-06-09

使用C++实现简单的文章生成器

目录1 前言2 改进2.1 字词的前后关系2.2 文章生成系统3 实现(部分)3.1 class wordpair3.2 class createArticle4演示4.1 wordpair(3x2), 启动词(春天)4.2 wordpair(2x1),启动...

2024-06-09

C++ Qt开发之使用QTcpSocket实现TCP网络通信

目录前言1.通信的流程1.1服务端流程1.2客户端流程2.图形化应用2.1 服务端流程2.2客户端流程前言Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Q...

2024-06-09

C++ static函数调用问题小结

目录1. 通过类名调用静态成员函数和非静态成员函数2. 通过类的对象调用静态成员函数和非静态成员函数3. 在类的静态成员函数中使用类的非静态成员5. 使用类的静态成员变量静...

2024-06-09

C语言数据结构之扩展字符详解

题目展示【问题描述】从键盘输入包含扩展符&#39;-&#39;的字符串,将其扩展为等价的完整字符,例如将a-d扩展为abcd,并输出扩展后的字符串。要求:只处理[a-z]、[A-Z]、[0-9]范围内...

2024-06-09

C++程序函数的重载和函数模板示例代码

目录一、函数的重载二、函数模板2.1 分号错误2.2 重载命名错误2.3 函数模板实现在C++中,函数也可以重载。C++允许在同一作用域中用同一函数名定义多个函数,这些函数的参数个数...

2024-06-09

一文掌握C++ 中使用变量从定义到实践

目录C++ 变量声明(创建)变量语法其他类型显示变量将变量相加C++ 标识符C++ 常量关于常量的注意事项最后C++ 变量变量是用于存储数据值的容器。在 C++ 中,有不同类型的变量(使用...

2024-06-09

C++ Qt开发之使用QProcess实现进程管理

Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将...

2024-06-09

C++ Qt开发之使用QUdpSocket实现组播通信

目录setSocketOption 设置套接字bind 绑定套接字地址joinMulticastGroup 加入组播leaveMulticastGroup 退出组播writeDatagram 发送数据报readDatagram 接收数据报Qt 是一个...

2024-06-09

Qt打印信息输出到日志文件中的两种方法

目录1、简述2、效果图3、方法一 利用ofstream实现文件存储3.1、增加头文件引用3.2、增加全局变量3.3、定义函数3.4、增加注册信息及记录到文件中4、方法二 利用QFile记录文...

2024-06-09

C++结构体初始化的10种写法总结

目录1.前言2.C++中的结构体(struct)和类(class)区别3.代码实例直接初始化使用成员初始化列表默认初始化并逐个赋值使用构造函数初始化使用默认构造函数初始化使用列表初始化使用...

2024-06-09

C++ 解引用与函数基础详解之内存地址、调用方法及声明

目录C++ 解引用获取内存地址和值修改指针值解引用指针的注意事项总结C++ 函数函数概述创建函数函数调用函数参数函数返回值函数声明和定义函数重载函数的作用域总结C++ 解引...

2024-06-09

C++ 二维数组传参的四种方式

目录 一.C语言二维数组传参方式1.指针形式接收2. 数组形式接收3.数组指针形式接收二.C++二维数组传参方式1. 数组指针形式接收2.指针形式接收3. 引用方式传参4.引用+模板最...

2024-06-09
返回顶部
顶部