标签: concepts
与该标签相关的所有文章 "concepts".
-
现代 C++(四):模板元编程从 SFINAE 到 Concepts
C++ 模板元编程(TMP)的本质是把编译器当成纯函数式解释器:类型是值、模板是函数、偏特化是模式匹配。SFINAE 是语言规则的副作用被滥用成约束机制的历史遗留,C++17 if constexpr + C++20 Concepts 把"编译期分支"和"约束表达"从巫术升级为一等公民,错误信息从 200 行模板栈变成一行说明。业务代码 95% 用不到深度 TMP,但读标准库和调试模板错误必须看得懂。
-
现代 C++(三):Concepts、Ranges、Coroutines、Modules 如何重定义 C++
C++20 是继 C++11 之后最大的一次升级,核心是四个范式级特性同时落地:Concepts 把模板错误从 200 行报错变成一行说明,Ranges 用惰性 view + 管道语法重构了整个 STL 算法接口,Coroutines 让异步代码写得像同步(但标准库没给 Task,需要三方库),Modules 终于告别了头文件——每一个单独拎出来都足以改变一整类编程风格。