C++属性[[likely]]与[[unlikely]] # `[[likely]]` 和 `[[unlikely]]`:C++20里那个“悄悄帮你调性能”的小开关 上周帮同事看一段实时音频处理代码,循环里有个 `if (buffer_full)` 判断,99.9% 的情况... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 476 阅读
C++属性[[no_unique_address]]优化 # `[[no_unique_address]]`:被低估的 C++ 内存瘦身术 你有没有写过这样的类: ```cpp template struct Optional { bool has_value_; T... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 680 阅读
C++三路比较运算符<=>详解 # C++三路比较运算符 ``:不是语法糖,是类型契约的重新定义 刚接触 C++20 的 `` 运算符时,我下意识把它当成了“自动写 `==` 和 `˂` 的快捷键”——直到在写一个自定义时间区间类时,它默默把 `o... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 925 阅读
C++defaulted与deleted函数 # `defaulted` 和 `deleted`:C++里那两个“不干活却很忙”的函数 写C++时,你有没有过这种时刻:类里啥都没写,编译器却悄悄给你塞了拷贝构造、赋值操作——结果某天对象被意外复制,程序在深夜co... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 573 阅读
热文C++聚合初始化与列表初始化 # C++里那个“花括号”,到底在干啥?——聚合初始化与列表初始化的实用分界线 刚写完一段 `std::vector v = {1, 2, 3};`,转头又看到同事代码里写着 `Point p{1.0, 2.0};`... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.17 K 阅读
C++initializer_list构造函数参数 # `initializer_list` 构造函数:不是语法糖,是可控的初始化入口 你有没有写过这样的代码: ```cpp std::vector v = {1, 2, 3, 4}; ``` 看起来很自然,像数组初始... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 557 阅读
热文C++结构化绑定解构tuple变量 # C++结构化绑定:解构tuple,别再写`std::get(t)`了 刚接手一段老C++代码,看到满屏的 `std::get(data)`, `std::get(data)`, `std::get(data)`—... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.62 K 阅读
热文C++if constexpr编译期条件分支 # `if constexpr`:C++17里那个“编译期就敢拍板”的条件分支 你写过模板函数,也踩过SFINAE的坑——比如想对整型做位运算,对浮点做四舍五入,结果编译器报错:“`std::sqrt` 不能用于 `... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.12 K 阅读
热文C++consteval强制编译期求值 # `consteval`:不是“更狠的 `constexpr`”,而是编译期求值的“硬性契约” 上周帮同事调一个模板元编程问题,他写了个 `constexpr` 函数,本意是让所有调用都在编译期完成,结果运行时还是... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.71 K 阅读
热文C++constinit确保静态初始化 # `constinit`:C++20 里那个不声不响却帮你避开“静态初始化顺序之坑”的人 你有没有在调试一个看似简单的程序时,突然发现某个全局 `std::string` 的构造函数里,`this` 指针竟然是 `... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.69 K 阅读