简介 仿函数(functor)主要是在C++中使用的一个概念。仿函数是一个行为类似函数的对象,它们通过重载函数调用运算符operator()来实现。仿函数可以携带状态,这一点与普通函数有所不同。 简言...
避开C++异常处理的陷阱:动态抛出捕捉失效的真相
这里就聊聊动态抛出时,大家经常会感到困惑不解的一个问题,为什么我的动态抛出捕捉不到? 你写的代码可能是这样的: c 代码解读 复制代码 class MyExceptionBase { }; class...
【Qxlxs】打包成库供项目使用
1. 获取源码 Github地址:github.com/QtExcel/QXl… 使用git clone https://github.com/QtExcel/QXlsx.git将项目下载到本地, 下...
WASAPI实现环回录制
环回录制简介 环回录制(Loopback Recording)允许捕获计算机正在播放的任何音频,包括系统声音、应用程序音频等。这项技术可以用在屏幕录制软件、音频分析工具、游戏录制等功能。 WASAPI...
【C++】类型转换
在C++中,类型转换(Type Conversion)是将一种数据类型转换为另一种数据类型的过程。类型转换可以分为两大类:隐式转换(implicit conversion)和显式转换(explicit...
Win32 API 异形窗口:突破传统矩形窗口的限制
原理探究 Windows 提供了一种叫做"窗口区域"(Window Region)的机制,允许我们自定义窗口的可见区域。通过设置窗口区域,我们可以创建出各种形状的窗口,甚至是带有透明区域的镂空窗口。 ...
“无限选择的挑战:完全背包问题的算法策略与解决方案”
完全背包问题 什么是完全背包问题 小明期末考试得了全班第一名,妈妈给了他一个背包,可以去超市任意选购,可以选购多种商品,每种商品可以选购多个,但是选择的商品必须都放在背包里。 超市很大,有很多种商品:...
C++一分钟之-C++20新特性:模块化编程
C++20标志着C++标准化进程中的一个重要里程碑,其中最引人注目的新特性之一就是模块化编程的引入。长期以来,C++开发者依赖于预处理器指令(如#include)来组织代码,但这带来了诸如编译时间过长...
超级好用的C++实用库之DNS解析
概述 DNS(Domain Name System,域名系统)是一种分布式数据库服务,用于将人们容易记忆的域名与计算机网络中用于寻址和定位的IP地址进行映射。在互联网上,每一台设备都有一个唯一的IP地...
一文教你学会使用BitSet
开始之前,介绍一下最近很火的开源技术,低代码。 作为一种软件开发技术逐渐进入了人们的视角里,它利用自身独特的优势占领市场一角——让使用者可以通过可视化的方式,以更少的编码,更快速地构建和交付应用软件...
C++协议开发涉及多个关键点和挑战
C++协议开发涉及多个关键点和挑战,如实现二进制通信协议,构建协议开发框架,以及利用C++的对象模型来高效编码通信协议。这些任务要求开发者具备深厚的C++知识,对系统的抽象能力,以及对细节的关注。 C...
【C++教程】11新特性之并发
概述 随着计算机硬件的发展,多核处理器已经成为主流,对程序并发执行能力的需求日益增长。C++ 11标准引入了一套全面且强大的并发编程支持库,为开发者提供了一个安全、高效地利用多核CPU资源进行并行计算...
【C++教程】C++ 11新特性之可变参数模板
概述 随着C++ 11标准的发布,C++语言获得了许多强大的新特性,其中一项显著提升灵活性和实用性的创新便是可变参数模板。这一特性极大地扩展了模板在处理不定数量类型或值参数时的能力,为开发者提供了更为...
【C语言教程】华为云短信服务教你用C++实现Smgp协议
引言&协议概述 中国联合网络通信有限公司短消息网关系统接口协议(SGIP)是中国网通为实现短信业务而制定的一种通信协议,全称叫做Short Message Gateway Interface ...
【C++教程】掌握 C++ 异常艺术:构建健壮程序的秘诀与实战策略「一」
在过去几十年的编程历史中,异常处理的演变仿佛一场文明的进化史,它不仅仅是技术的革新,更是编程思想与哲学的深刻体现。 从古早的错误码时代,程序员们在代码的荒野中艰难跋涉,每一个错误都需要手动检查,仿佛在...
【C语言教程】C++ 智能指针最佳实践:从 new 到 std::make_unique 的演进
以下内容为本人的烂笔头,如需要转载,请全文无改动地复制粘贴,原文链接 微信公众号「ENG八戒」mp.weixin.qq.com/s/imoYFpDo2… 相比使用 new 直接创建对象指...
【C语言教程】Chromium源码学习(1)—— 拉取源码,编译
Chromium简介 Chromium项目于2008年发布,作为Google Chrome浏览器的开源部分。Google的Chrome浏览器基于Chromium开发,但添加了Google品牌、自动更新...
【C语言教程】Android NDK使用指南(基础篇)
引言 在 Android 开发中,大多数应用程序都是用 Java 或 Kotlin 编写的。然而,有时候我们需要使用 C 或 C++ 代码来提高性能,或者为了与现有的 C/C++ 库集成。Androi...
【C语言教程】在 VSCODE 中使用 MSVC 和 CMAKE 进行 C++ 项目的开发
使用 VSCODE + MSVC + CMAKE 的原因 为什么要使用 VSCODE 来写C++并运行,使用 Visual Studio 或者 Clion 不好吗?以上两种IDE我都用过,虽然功能很全...
【C语言教程】Android Native 线程挂起流程
背景 之前写了一篇关于线程挂起超时导致的 Native Crash 的文章,并提供了一种基于 inline hook 技术规避超时导致的 abort 信号引发崩溃的解决方案,有兴趣可以看下 - And...