标签: cpp
与该标签相关的所有文章 "cpp".
-
现代 C++(二):if constexpr、optional 与 variant 如何降低认知负担
C++17 不是革命而是善后——它把 Boost.Optional/Variant/Any/Filesystem/string_view 吸收进标准库,用 if constexpr 和折叠表达式干掉 SFINAE 地狱,用结构化绑定消除 std::tie 的笨重,用 CTAD 让模板参数不再冗余;日常业务代码的认知负载一次性大幅下降,是应届生和资深的分水岭。
-
现代 C++(一):C++11/14 为什么是现代 C++ 的起点
C++11/14 的核心升级不是加了几个语法糖,而是把值语义 + RAII + 移动 + lambda 组合成新范式:资源用智能指针自动管理、返回大对象用移动不用拷贝、行为用 lambda 就地编写——日常 C++ 的认知负载一次性大幅下降,Bjarne 本人说"像一门新语言"不是营销话术。
-
asio(六):十大陷阱与生产实践
Asio 最常见的 bug 源头是对象生命周期(异步操作引用了已析构的对象)和缓冲区生命周期(buffer 底层内存在操作完成前被释放)。strand 不是锁但胜似锁——用错了比不用更危险。timer 取消的语义和直觉不一致。这篇列出 10 个陷阱和 7 条生产 checklist。
-
asio(五):操作系统I/O多路复用-epoll、kqueue、IOCP如何被统一
Asio 通过编译期条件选择 reactor 实现(epollreactor / kqueuereactor / winiocpiocontext),每种实现共享统一的内部接口(registerdescriptor、startop、cancelops、run、interrupt)。Linux/macOS 是 Reactor 之上模拟 Proactor,Windows 是原生 Proactor 直通 IOCP。io_uring 作为第四种后端在 Boost 1.78+ 可选启用。