C++_PIMPL 模式
概述 PIMPL(Pointer to Implementation)是 C++ 中一个强大的设计模式,用于隐藏实现细节、减少编译依赖和提高接口稳定性 核心思想 分离接口与实现 公共头文件只声明接口 私有实现在单独的类中封装 公共类仅持有私有实现的指针 编译防火墙 实现 公共接口...
概述 PIMPL(Pointer to Implementation)是 C++ 中一个强大的设计模式,用于隐藏实现细节、减少编译依赖和提高接口稳定性 核心思想 分离接口与实现 公共头文件只声明接口 私有实现在单独的类中封装 公共类仅持有私有实现的指针 编译防火墙 实现 公共接口...
协程 概述 C++20 协程(Coroutines)是一种无栈协程实现,通过挂起/恢复机制简化异步编程,将回调式代码转化为顺序式结构 使用C++20协程时,必须实现promise类型(协程的行为控制器)和可选的awaitable对象(挂起/恢复行为控制器) 机制 无栈设计 协程状...
概述 Google开源的C++日志库,专为高性能、高可靠性场景设计,广泛应用于大型分布式系统(如Kubernetes) 优缺点 优点 高性能与线程安全 内部采用锁机制保证多线程安全,写入效率高(经Google生产环境验证) 异步I/O与缓冲区优化(如syncBuffer),减少系...
概述 关于shared_ptr智能指针对象管理内存的情况 不同的shared_ptr对象管理不同的内存 多个shared_ptr对象管理同一块内存 对于管理不同的内存 因为每个shared_ptr对象都有各自的控制块,因而引用计数独立,所有不存在问题 对于管理同一块内存 因为每个...
概述 微软开发的 C++ ETW(Event Tracing for Windows)库,专为简化Windows事件跟踪开发而生 核心功能 封装底层ETW API,提供面向对象接口 支持用户态和内核态事件跟踪 提供事件模式解析、数据提取等高级功能 支持同步/异步事件处理模式 ke...
描述 程序开始时,在UI显示之前,需要做一次网络请求,请求到的数据用于界面上一些内容的展示 这属于是一个一次性任务 除了一开始这个一次性任务之外,当UI选择了某个逻辑后,还会弹出另外一个新的界面 需要创建订单,需要显示该订单对应的二维码 在订单创建后,需要对该订单进行一定时间的轮...
引用折叠 概述 引用折叠(Reference Collapsing)是C++11引入的机制,用于处理模板编程中多重引用组合的类型推导问题 当间接生成“引用的引用”(如通过模板参数推导、类型别名等)时,编译器会根据规则将其折叠为单一引用类型 它的核心目的是支持完美转发(Perfec...
概述 需要调用某个图片处理服务 该接口要求的输入是base64编码字符串 png-base64 实现 把目标图片编码为base64字符串,保存到txt里面 生成结果 有效数据 base64-png 实现 base64-mp4 实现
模块 (Module) 概述 随着我们的应用越来越大,我们想要将其拆分成多个文件,即所谓的“模块(module) 一个模块可以包含用于特定目的的类或函数库 模块可以相互加载,并可以使用特殊的指令 export 和 import 来交换功能,从另一个模块调用一个模块的函数: exp...
generator 概述 常规函数只会返回一个单一值(或者不返回任何值) 而 generator 可以按需一个接一个地返回(“yield”)多个值 它们可与 iterable 完美配合使用,从而可以轻松地创建数据流 generator 函数 要创建一个 generator,我们需...