时隔许久我终于又把这个小时候的账号想起来了,最近我搞了一个开源项目 基于 C++ 开发的 Telegram Bot 框架。 本项目是一个为 C++ 开发者设计的电报 (Telegram) 机器人框架,旨在解决原生 API 开发的复杂性。通过高度模块化的插件系统,您无需再关心底层的网络通信和 API ...
1. 问题描述 在使用Clion时,在保证文件编码,项目编码,属性文件的默认编码等均为UTF-8的情况下,当代码输出中存在中文字符时,内置控制台显示的输出为乱码。 2. 尝试解决方案 在CLion中解决内置控制台乱码问题,主要需要统一项目编码、控制台编码和系统环境编码。以下是具体步骤: 2.1 第一 ...
好久不见,最近参加了蓝桥的省赛,虽然只是省二,但是还是要总结一下 今儿个三合一,前三道 1.B4375 [蓝桥杯青少年组省赛 2025] 庆典队列 题目描述 有 \(n\) 名志愿者参加了一场庆典活动,我们希望将这些人排成一个矩形队列,要求队列共有 \(A\) 行,且每一行的人数都要相等。 请计算每 ...
将真实的异步 IO 事件与协程相结合、例子规模控制在 200 行、能编译能运行的 Windows C++20 协程 demo,见过没?今天就给各位老铁整一个,它还支持多协程并发哦~ ...
引言 技术上 实际上类与结构体在技术层面除了可见性并没有区别,唯一值得一提的区别就是: class类默认情况下其中的变量、函数都为private私有的。 struct结构体默认情况下则都是public公共的。 用法上 何时使用class、struct,取决于个人的编程风格。 一般情况下,仅会使用st ...
本篇主要是为了记录在编写一个模板类的模板构造函数中遇到的初始化问题,以及针对这个问题展开的相关知识整理,文章就以引发这个问题的代码为标题了。 问题代码 在编写一个代表空间点的模板类 point 时,我打算为它添加一个模板构造函数: 代码 template<typename T, std::size_ ...
大家好,我是小康。 写在前面 你知道吗?在高并发场景下,频繁的malloc和free操作就像是程序的"阿喀琉斯之踵",轻则拖慢系统响应,重则直接把服务器拖垮。 最近我从0到1实现了一个高性能内存池,经过严格的压测验证,在8B到2048B的分配释放场景下,性能相比传统的malloc/free平均快了4 ...
在qt中捕获摄像头画面,在ui界面上添加一个comboBox控件、label标签和两个pushButton按钮,comboBox用于显示摄像头的设备,按钮用于开启摄像头和捕获当前帧的画面,label用于显示摄像头捕获的画面。 //需要在.pro文件中加上multimedia multimediawi ...
在qt中捕获摄像头画面,在ui界面上添加一个comboBox控件、label标签和一个pushButton按钮,comboBox用于显示摄像头的设备,按钮用于开启摄像头,label用于显示摄像头捕获的画面。 //需要在.pro文件中加上multimedia multimediawidgets QT ...
有一个古老的c++问题:struct Empty{}; sizeof(Empty); 请问Empty的大小是多少。 很多新手会回答0,但稍有经验的开发者会说出正确答案,大小至少是1字节。 这看起来很奇怪,但这是语言规范决定的:c++要求同一类型的不同实例对象必须拥有完全不同的地址,如果Empty的大 ...
题目链接 题解 考虑按位思考。将其转换成 \(x_i=0,1\) 的特殊性质,假设此时的二进制位为第 \(k\) 为,那操作就相当于如果 \(x_i\&2^k=1\) 那就等价于特殊性质 \(x_i=1\),反之为 \(0\)。可以差分在 \(O(n^2)\) 的时间复杂度内求出那些位置被覆盖了,即 ...
起因 C++14 引入 STL 的 make_index_sequence 可以生成一个类型为 std::size_t,0 到 N-1 的编译期序列,我们可以这样使用它: 代码 //利用函数参数推导提取序列 template<std::size_t... Seq> void foo(std::ind ...
题目描述 经典的分 \(k\) 段问题,要求求出分 \(k\) 段后使每段顺序对数量之和最小,求这个最小的值。 思路 首先,我们很好得出这种分段问题的状态转移方程即 $$dp_{i,j}=\min{dp_{k,j-1}+w(k+1,i)}$$ 其中 \(dp_{i,j}\) 表示选到前 \(i\) ...
将真实的异步 IO 事件与协程相结合、例子规模控制在 150 行、能编译能运行的 C++20 协程 demo,见过没?今天就给各位老铁整一个,它还支持多协程并发哦~ ...
1 C++、C++ 标准和 C++ 标准库 1.1 C++、C++ 标准和并行编程简史 C++ 基于 Dennis Ritchie 在贝尔实验室工作期间于 1969 年至 1973 年创建的编程语言 C。1973 年,Ritchie 的编译器被用于编译 PDP-11 计算机的 Unix 内核。这是第 ...
Java与C++混合编程可以实现两种语言的优势结合,C++的程序性能很高且支持强大的系统调用能力,Java则生态丰富且开发效率较高。JNI是Java与C++进行混合编程的关键桥梁,本章将基于JNI技术讲述Java与C++混合编程的方法和技巧。 1. Java与JNI 1.1. 什么是Java? Ja ...
问题 如下示例程序所示, 首先构建了一个如下所示的Node树,每个节点存有一个数字。程序需要通过node的name返回其数字,即findNodeNumByName,其中name是const char*,表示方法中不会修改其参数。另外这个参数来自于另外一个方法,即findNodeNameByNum,输 ...
PkgConfig(pkg-config)是一个在 Linux/Unix 开发中管理库的编译和链接参数的工具,能自动生成正确的头文件路径(-I)、库路径(-L)和链接库名称(-l)等标志。以下为详细使用指南: pkg-config命令使用 1. 安装 Debian/Ubuntu: sudo apt- ...
前言 在以往的项目开发中,在很多地方用到了多线程。针对不同的业务逻辑,需要使用不同的多线程实现方法,来达到优化项目的目的。本文记录下在Qt开发中用到的多线程技术实现方法,以导出指定范围的数字到txt文件为例,展示多线程不同的实现方式。 示例已上传到gittee,地址:https://gitee.co ...
最近遇到一个模板参数推导的问题,代码如下: 代码 template<typename T> using scalar = std::enable_if_t<std::is_arithmetic_v<T>, T>; template<typename T> void foo(scalar<T> val ...