技术栈
c++20
小小龙学IT
8 天前
linux
·
c++
·
c++20
C++ std::chrono 时间库深度解析:从 duration 模板到 C++20 日历与时区
在 C++11 之前,C++ 程序处理时间几乎只能依赖 C 标准库的 time_t / struct tm 与一堆全局函数(time()、localtime()、strftime()),其痛点非常明显:
郝学胜-神的一滴
10 天前
开发语言
·
算法
·
编程
·
软件构建
·
c++20
C++20 高级编程 004:从初始化、内存到const系列关键字
不少深耕 C++ 的开发者常会陷入一种尴尬:能写业务逻辑,却在底层语法细节栽跟头 —— 指派初始化分不清、栈堆内存乱释放、const指针看得头皮发麻、constexpr与consteval傻傻分不清。
可爱系程序猿
11 天前
程序人生
·
电脑
·
c++20
msvcp120.dll 加载失败排查:VC++ 2013、进程架构与插件私有目录如何对应
msvcp120.dll 属于 Visual C++ 2013 的 C++ 标准库。加载失败既可能是运行库缺失,也可能是宿主程序与插件架构不一致,或者私有目录里的旧版本抢先被加载。技术排查应先锁定实际进程、模块路径和错误时点,再处理组件,避免只按文件名覆盖。
ShineWinsu
11 天前
c++
·
c++20
对于C++:C++20中线程、初始化、Lambda与内存视图等特性的解析
本文聚焦 C++20 标准库中八组非常有代表性的能力:std::jthread、std::osyncstream、指派初始化器、范围 for 中的初始化语句、Lambda 初始捕获中的包扩展、and/or/not 替代标记、功能特性宏测试以及 std::span。
可爱系程序猿
11 天前
程序人生
·
电脑
·
c++20
mfc100.dll 加载失败排查:旧版 VC++ 2010 程序、位数与插件目录如何核对
mfc100.dll 多见于使用 Visual C++ 2010 构建的旧程序。64 位 Windows 上运行 32 位旧软件仍需要 x86 运行库,因此只按系统位数安装组件很容易漏掉依赖。排查时应同时确认宿主程序、插件和运行库架构,再使用受支持的安装包修复。
ShineWinsu
14 天前
linux
·
开发语言
·
网络
·
c++
·
c++20
·
epoll
对于 C++:C++20中Concept(概念) 与 Coroutine(协程)的解析
C++20 是 C++ 语言发展史上一个里程碑式的版本。如果说 C++11 让这门语言焕然一新,那么 C++20 则是一次更加深远的能力扩展。在这个版本中,有两个特性尤为引人注目,它们分别是概念(Concept) 和协程(Coroutine)。
Lzg_na
21 天前
c++20
C++20 Concept 核心概念、语法详解与三大工程实践场景
定义:Concept 是一个编译期谓词(返回 bool 的表达式),用于对模板参数施加语义约束。本质:它告诉编译器:这个模板参数 T 必须具备哪些行为(如支持 +、支持迭代、可拷贝等)。
Billy12138
21 天前
c++20
·
c++进阶学习
Day14-C++20 Modules:模块声明与导入、模块分区、与头文件对比、迁移策略
C++进阶计划 · Day 14 | 预计学习时长:2.5小时C++20 Modules 是 C++ 历史上自 C++11 以来最重要的语言特性变革。它从根本上重新定义了 C++ 代码的编译模型,解决了困扰 C++ 数十年的翻译单元(Translation Unit)隔离问题。
程序猿编码
22 天前
pytorch
·
语言模型
·
大模型
·
c++20
·
推荐算法
不用GPU,不用多线程,我用C++20手写了一个Gemma 3推理引擎
现在跑大模型,大家的默认思路是:上GPU、开多线程、调各种推理框架。但有时候你只是想在自己的笔记本上快速试个东西,或者你的场景根本不允许用GPU(比如嵌入式设备、边缘计算节点)。这时候,CPU单线程推理就成了唯一选择。
Billy12138
23 天前
c++20
·
c++进阶学习
Day15-C++20 三路比较运算符 `<=>`:一次定义,全面排序
C++进阶计划 · Day 15 | 预计学习时长:2小时在 C++20 之前,实现一个完整的可比较类型是一项繁琐的工作。你需要手写 6 个比较运算符(==、!=、<、<=、>、>=),每一个都要保证逻辑一致性。这不仅冗长,还容易出错——比如 < 和 > 的定义不一致,导致排序算法行为异常。
A_cainiao_A
1 个月前
开发语言
·
c++20
C++20:std::stop_source让线程说停就听
std::stop_source 是 C++20 引入的标准库组件(位于 <stop_token> 头文件中),用于在多线程编程中实现协同式线程取消(Cooperative Thread Cancellation)。
小小龙学IT
1 个月前
c++20
C++20 Ranges 库实现原理深度解析:从视图适配器到管道运算符
传统 STL 算法使用迭代器对 [begin, end) 表达范围,这种方式存在三个根本性问题:任何满足了 begin() 和 end() 的类型都是 range。与经典 STL 的关键区别是:begin 和 end 的返回类型可以不同,这催生了 sentinel(哨兵)概念。
Billy12138
1 个月前
c++20
·
c++进阶学习
C++20 Concepts:约束与概念的现代范式
C++进阶计划 · Day 09 | 预计学习时长:2小时C++20 Concepts 是自 C++11 模板元编程诞生以来最重要的语言特性之一。它将模板约束从"隐式契约"提升为"显式声明",让编译器在模板实例化前就能提供有意义的错误信息,将 SFINAE 的隐式失败转变为 Concepts 的显式约束。
可爱系程序猿
1 个月前
程序人生
·
电脑
·
c++20
mfc90.dll 缺失如何处理?VC++ 2008 运行库与并行程序集排查记录
mfc90.dll 的提示多出现在较早的行业软件、工程工具和桌面客户端中。它通常不是单独存在的系统文件,而是 Visual C++ 2008 MFC 运行时的一部分;如果直接从其他电脑复制文件,很容易引发并行程序集配置或位数不匹配的问题。下面按技术排查顺序记录可复现的处理办法。
code_pgf
1 个月前
c++
·
c++20
C++11 / C++14 / C++17 / C++20 新特性总结
本文按版本梳理现代 C++ 的核心特性、使用方法、工程价值和注意事项。C++11 现代化基础C++14 语法完善
C语言Plus
1 个月前
数据库
·
sql
·
安全
·
c++20
C++ SqlBuilder一个简单、灵活且类型安全的 C++ SQL 构建器库
SqlBuilder 是一个使用 C++23 构建的 SQL 语句生成库,提供链式调用的现代 API,让开发者以类型安全的方式构造 SQL 语句,避免手写字符串拼接带来的错误与安全风险。zcmaye/SqlBuilder https://github.com/zcmaye/SqlBuilder设计目标:
CHANG_THE_WORLD
2 个月前
c++20
C++20 协程从零入门:用 ASCII 图彻底理解 `co_await`、协程帧与异步执行
适合读者: 会写普通 C++ 函数,但第一次接触 C++20 协程。本文不要求你提前了解 promise、状态机或异步框架。 我们会从“普通函数为什么不能暂停”开始,一步一步写出可以编译运行的协程程序。
无限的鲜花
2 个月前
c++
·
算法
·
c++20
协程本质是函数加状态机——零基础深入浅出 C++20 协程
非对称表示协程控制权的转移是单向的,即通过 co_await/co_yield 挂起时,必需返回到调用者最初的上下文,而不能随意切换到其它协程,这样做逻辑清晰,便于调试。
十五年专注C++开发
3 个月前
c++20
·
管道
·
哨兵
·
视图
·
ranges
全面深入了解C++20 范围库(std::ranges)
目录1.核心基础概念1.1.范围 (std::ranges::range)1.2.哨兵 (Sentinel)
小小龙学IT
3 个月前
junit
·
c++20
C++20 协程深度解析:从原理到高性能异步框架实战
C++20 引入的协程(Coroutines)是近十年来该语言最重大的特性之一。它并非像 Go 语言那样提供开箱即用的 goroutine,而是提供了一套零开销的底层原语,让库作者能够在其上构建任意形态的异步模型。理解协程的关键在于:C++20 标准只定义了协程的"语言层面"契约,并没有定义调度器、执行器或任何运行时组件。这意味着你可以实现单线程协作式调度、多线程工作窃取调度,甚至将协程编译为无堆栈状态机嵌入嵌入式设备——上限极高,但学习曲线同样陡峭。