C++indirect_array间接索引数组 # `indirect_array`:C++里那个被遗忘的“索引遥控器” 你有没有试过,想从一个数组里挑几个特定位置的元素做批量运算,但又不想写一长串下标?比如把 `arr[2]`, `arr[5]`, `arr[0... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 345 阅读
热文C++bitset位集合操作与效率 # `std::bitset`:不是万能胶,但真轮到“位”上见真章 上周帮同事调一个内存敏感的缓存淘汰模块,他用 `vector` 存状态位,结果在百万级 key 下频繁触发 cache line 伪共享,性能卡在 ... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.6 K 阅读
热文C++atomic_flag无锁布尔标志 # `atomic_flag`:C++里最轻量的无锁布尔开关,但别急着用它替代`atomic` 你写多线程代码时,是不是也遇到过这种场景:一个线程在忙等某个条件成立,另一个线程只负责“啪”地一下把它设为 true?比... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.61 K 阅读
热文C++memory_order内存顺序模型 # C++ memory_order:别让多线程代码在你眼皮底下“悄悄变卦” 写过多线程 C++ 代码的人,大概率都踩过这样的坑: 变量明明被另一个线程改了,本线程却读到旧值; 两个原子操作看似顺序执行,结果编译器或... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.98 K 阅读
C++kill_dependency打破依赖链 # `kill_dependency`:C++里那个“假装没看见”的内存屏障 你写过这样的代码吗? ```cpp std::atomic flag{0}; int data = 0; // 线程A data = 42... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 281 阅读
C++hardware_destructive_interference_size # `hardware_destructive_interference_size`:别再靠猜,让缓存行对齐有据可依 去年帮同事调一个高频写入的实时日志模块,性能总卡在 120 万条/秒上不去。查了半天,发现两个频繁... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 539 阅读
热文C++hardware_constructive_interference_size # `hardware_constructive_interference_size`:别再盲目对齐,先看清楚缓存线在“呼吸” 你写过这样的代码吗? ```cpp struct alignas(64) Counter... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.96 K 阅读
热文C++aligned_alloc对齐内存分配 # `aligned_alloc`:C++里那个“不听话”的对齐内存分配器 你有没有试过,给一个SIMD向量(比如`__m256`)分配内存,结果一运行就崩在`segfault`上?调试半天发现——不是代码逻辑错,是... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.66 K 阅读
热文C++assume_aligned提示对齐信息 # `assume_aligned`:C++23里那个被低估的“对齐提醒员” 写高性能代码时,你有没有遇到过这样的场景:明明用了 `_mm256_load_ps` 加载 32 字节对齐的数据,结果一跑就崩?或者编译器... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.4 K 阅读
热文C++unreachable标记不可达代码 # `[[unreachable]]`:C++23里那个“明明白白摆烂”的编译器提示 写过C++的人,大概都见过这样的代码: ```cpp int foo(int x) { if (x ˃ 0) return 1; ... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.94 K 阅读