收藏本版 |訂閲

C/C++论坛 今日: 0|主題: 361|排名: 47 

  • 一文带你彻底看懂C++常见排序算法
    目录前言一、插入排序1. 直接插入排序2. 希尔排序二、选择排序1. 直接选择排序2. 堆排序三、交换排序1. 冒泡排序2. 快速排序四、归并排序总结 前言 排序,就是使一组数据,按照某种规则,递增或递减排列起来的操作。是生活中应用最广泛的算法之一。包括多种排序算法,今天我们介绍最常见的几种,下面, 我默认都 ...
    090 温大爷要飞升 发表于 2026-1-6 教程
  • C语言顺序结构的二叉树之堆排序
    目录一、堆1. 概念与分类2. 结构与性质3. 入堆4. 出堆二、堆排序三、堆排序的应用——TOP-K问题总结一、堆 1. 概念与分类 上一期我们提到,二叉树的实现既可以用顺序结构,也可以用链式结构。本篇我们来学习顺序结构的二叉树,起个新名字——堆(heap)。堆是完全二叉树,它的底层是顺序结构的数组,具 ...
    053 体坛传声筒 发表于 2026-1-6 教程
  • 【C++】智能指针
    前言 学习C++智能指针。 指针(Pointer)就是一个变量,其存储的是另一个变量的内存地址,理解指针是掌握 C++ 内存管理、数组、对象以及底层操作的关键。 为什么使用指针 1. 动态内存管理:在运行时根据需要申请内存(使用 new 和 delete)。原生数组(如 int a[10])的大小在编译时就确定了,存储在栈(Stack)上。但很多 ...
    037 冰凝瞬间 发表于 2026-1-5 C/C++论坛
  • 基于 cronet 的单链接性能信息收集
    背景 公司的一款基于网络云盘的产品,需要统计每个链接到各个服务器节点的性能,以便后台做更优的调度。常用的性能指标有 DNS 解析耗时、连接耗时、ssl 握手耗时、首分片耗时、总的发送接收字节数、总的请求耗时以及基于它们计算的平均速度等。早先的基于 boost 的版本这些都很好统计,后来该产品底层网络库换成 cronet 就 ...
    070 沉默的激情 发表于 2026-1-5 C/C++论坛
  • Qt线程QtConcurrent模块的使用
    目录前言一、QtConcurrent::run()二、QtConcurrent::mapped()三、总结前言 在传统 Qt 多线程开发中,我们常通过继承 QThread 或使用 moveToThread 来实现后台任务。但这种方式需要手动管理线程生命周期、信号槽连接、对象所有权等,样板代码多、易出错。而 Qt Concurrent 提供了一种更高层次的抽象:你只关心“做什么& ...
    040 荷塘新雨 发表于 2026-1-5 教程
  • QT将char*转QString的多种方法
    目录1. 基本转换方法1.1 从 UTF-8 编码转换1.2 从本地编码转换1.3 从 Latin-1 编码转换2. 完整的转换函数集合3. 实际应用示例3.1 从 C 库函数获取字符串3.2 处理网络数据3.3 文件操作4. 编码转换示例4.1 不同编码之间的转换4.2 编码检测和转换5. 性能优化5.1 避免不必要的复制5.2 使用 QStringView 避免内存分配6. 常见问题 ...
    0106 周平 发表于 2026-1-5 教程
  • Qt重复添加控件问题的现象、原理与解决方案
    目录一、问题现象:叠床架屋之弊二、原理剖析:Qt对象树机制三、解决方案:防患未然之道1. 添加前检查存在性2. 使用布局管理器3. 对象命名与查找四、典型案例分析案例一:动态表单生成案例二:工具栏按钮管理五、性能对比测试六、结语:慎思明辨之道一、问题现象:叠床架屋之弊 Qt框架虽为GUI开发之利器,然重复添加控件之 ...
    070 李有田 发表于 2026-1-5 教程
  • C++ vector容器底层深度剖析与模拟实现代码示例
    目录1 模板的使用说明2 vector深度剖析及模拟实现2.1 vector的成员变量2.2 构造函数2.2.1 指定大小和初始值的构造函数2.2.2 迭代器范围构造函数2.2.3 拷贝构造函数(现代写法)2.3 赋值运算符重载2.4 容量相关操作2.4.1 reserve 开空间2.4.2 用resize 调整大小2.4.3 size和capacity2.5 元素访问操作2.5.1 下标运算符2.6 修 ...
  • Qt中QString 查找子串的多种方法
    目录1. 基本查找方法1.1 查找子串是否存在1.2 查找子串位置2. 查找和统计2.1 统计子串出现次数2.2 查找所有出现位置3. 高级查找方法3.1 使用正则表达式查找3.2 查找并替换4. 完整的查找工具类4.1 StringFinder 类5. 实际应用示例5.1 日志分析工具5.2 文本搜索工具6. 性能优化6.1 高效查找算法7. 完整的示例程序8. 重要注意 ...
    063 想做蜗牛的蝎 发表于 2026-1-5 教程
  • Qt中moveToThread函数的使用小结
    目录1. 基本含义2. 核心概念:Qt的对象线程归属3. 完整的工作流程示例4. 重要限制和注意事项限制1:对象创建后不能随意移动限制2:某些操作必须在对象所属线程执行限制3:父子对象关系5 替代方案:在run()中创建对象6. 这种写法的具体好处7 常见问题解决问题1:对象在不同线程中删除问题2:访问GUI组件总结1. 基本含义 this ...
    067 老高论电影 发表于 2026-1-5 教程
  • QT安装MQTT库的实现步骤
    目录前言一. 下载QT官方的MQTT源码二. Windows下QT5安装MQTT库2.1 方法1(使用Qt qcreator编译,然后自行移植)2.2 方法2(使用命令行编译安装)三. Linux下QT5安装MQTT库3.1 方法1(使用Qt qcreator编译,然后自行移植)3.2 方法2(使用命令行编译安装)四. ARM板卡(RK3576)下QT5安装MQTT库4.1 安装QT5的基本库1.QT的安 ...
    028 妃飞非菲 发表于 2026-1-5 教程
  • Qt 二进制数据读写详解
    目录一、Qt 二进制数据读写讲解1、核心概念2、二进制写入操作2.1、方法一:直接使用QFile和QByteArray2.2、方法二:使用QDataStream进行序列化(推荐)3、二进制读取操作3.1、方法一:直接使用QFile和QByteArray3.2、方法二:使用QDataStream进行反序列化(推荐)4、使用QBuffer进行内存读写5、注意事项6、示例:一个简单的 ...
    087 奔跑的牛牛 发表于 2026-1-5 教程
  • QT5使用QFtp的详细步骤
    目录1、QFtp编译1.1 下载1.2 修改1.3 编译1.4 部署2.5 使用客户端1、QFtp编译 1.1 下载 下载QFtp源码,https://github.com/qt/qtftp git clone https://github.com/qt/qtftp.git 1.2 修改 打开qt工程,修改qftp.pro文件中框选的部分,修改为下图所示。修改qftp.h文件的qurlinfo.h头文件,改为下图,该头文件路径有问题 CON ...
    037 陈广荣 发表于 2026-1-5 教程
  • 【C++】移动语义和完美转发
    前言 学习C++移动语义和完美转发笔记,记录左值、右值、std::move()、万能引用、引用折叠等相关内容。 概念 左值 (lvalue) 它是在内存中有明确存储地址、可以被寻址的值。如果你可以对一个表达式取地址(使用 & 运算符),那么它就是一个左值。左值通常是持久的,在它所在的定义域结束之前一直存在 左值引用(Lvalue Re ...
    087 天王的记忆 发表于 2026-1-5 C/C++论坛
  • 【开源】《commander-cpp》单头文件的、链式调用的、自动生成帮助文档的C++命令行参数解析库
    《commander-cpp》单头文件的、链式调用的、自动生成帮助文档的C++命令行参数解析库 前言 作者我本人经常会写一些命令行小工具, 此前一直使用node.js的三方库commander.js来解析命令行参数, commander.js是一个非常方便的命令行参数解析库, 但是使用node.js也会有一些限制,比如:运行的电脑上需要安装node.js,并且在一 ...
    026 技术型健身爱好者 发表于 2026-1-4 C/C++论坛
  • Qt中QUdpSocket类的简单使用详解
    目录QUdpSocket类的简单使用一、发送端二、接收端QUdpSocket类的简单使用 下面我们用一个做一个简单的例子。 一、发送端 发送端界面: 发送端代码: .h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QUdpSocket> QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE ...
    075 懂小姐 发表于 2026-1-4 教程
  • Qt实现窗口阴影效果的三种方法
    目录一、前言:光影之于界面的妙用二、基础原理:阴影实现的三大法门1. QGraphicsDropShadowEffect - 简单易用的光影魔术2. 九宫格绘制法 - 精准控制的艺术3. 透明窗口+背景图法 - 极致视觉体验三、进阶技巧:阴影的七十二变1. 动态阴影效果2. 多重阴影叠加四、实战案例:现代化UI阴影应用案例1:浮动操作按钮(FAB)案例2: ...
    094 徐承兵 发表于 2026-1-4 教程
  • C++ 中的构造函数
    目录核心逻辑构造函数的执行流为什么首选初始化列表?构造函数的分类默认构造函数(Default Constructor)参数化构造函数(Parameterized Constructor)拷贝构造函数(Copy Constructor)移动构造函数(Move Constructor)关键机制与陷阱explicit 关键字:拒绝隐式转换委托构造(Delegating Constructors)构造与虚函数RAII ...
    077 千里马遇伯乐 发表于 2026-1-4 C/C++论坛
  • C++ 中的 list
    目录核心概念与底层原理初始化与构造独有的操作优势(std::vector 做不到的)头部操作接合(Splicing)专用成员函数迭代器特性std::list 和 std::vector 的选择C++11 新增:std::forword_list 本文首发于我的个人博客:Better Mistakes 版权声明:本文为原创文章,转载请附上原文出处链接及本声明。 由于技术迭代较快,文 ...
    056 段李俊 发表于 2026-1-3 C/C++论坛
  • C++ spdlog日志库示例详解
    目录一、spdlog日志库详解1. 概述与核心优势2. 核心概念3. 基本用法4. 高级用法与特性5. 性能考量与最佳实践6. 编译与依赖7. 总结二、库的下载与编译三、示例1、测试代码2、运行结果3、功能说明:一、spdlog日志库详解 C++的 spdlog 日志库。这是一款高性能、功能丰富且易于使用的开源日志库。 1. 概述与核心优势 高性能: ...
    08 程巷子之巅 发表于 2025-12-31 教程
  • 下一頁 »

    快速發帖

    還可輸入 180 個字符
    您需要登錄後才可以發帖 登錄 | 立即注册

    本版積分規則

    相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

    Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

    在本版发帖返回顶部