最新C++reference_wrapper引用包装器 # `std::reference_wrapper`:让引用“可复制、可存储、可传递”的隐形胶水 你有没有试过把一个引用塞进 `std::vector`?编译器立刻给你甩个红标:“`error: cannot dec... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 785 阅读
最新C++cref cref包装常量引用 # `std::cref`:给常量引用套个“安全壳”,别让它在函数间悄悄退化 你有没有写过这样的代码: ```cpp void log_value(const std::string& s) { std::cout ... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 516 阅读
最新C++not_fn逻辑取反函数适配器 # C++里那个“不干正事”的not_fn:逻辑取反的温柔叛逆 你有没有试过写一个`std::find_if`,想找所有**不是偶数**的元素,结果发现得绕一圈写个lambda?或者封装了一个判断函数`is_vali... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 612 阅读
最新C++function通用可调用包装器 # `std::function`:C++里那个“啥都能装”的万能接口胶水 写C++时,你有没有遇到过这种场景: 想把一个回调函数传进某个类里,结果发现它有时是普通函数,有时是成员函数,有时又是个带捕获的lambda... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 950 阅读
最新C++invoke统一调用可调用对象 # C++里那个“万能胶水”:`std::invoke`到底在解决什么问题? 写C++时你有没有过这种时刻: 刚封装好一个成员函数指针,想传给某个算法,结果编译器报错说“不能匹配重载”; 或者把lambda、函数对象... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 395 阅读
最新C++apply展开tuple作为参数调用 # `std::apply`:把 tuple 当“参数包”使唤的那把小扳手 写 C++ 时,你有没有过这种时刻:函数接口明明很干净,参数也全在手边,偏偏它们被塞进一个 `std::tuple` 里——像一盒没拆封的螺... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.01 K 阅读
最新C++make_from_tuple从tuple构造对象 # `make_from_tuple`:从元组一键“捏”出对象的隐藏技巧 你有没有遇到过这样的场景:函数返回一个 `std::tuple`,而你手头恰好有个类 `Person(int id, std::... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 738 阅读
最新C++optional可选值安全返回 # C++里别再用`nullptr`或`-1`当“失败信号”了:optional才是真·安全返回 上周帮同事看一段老代码,函数返回`int`,但文档里写着“失败时返回-1”。结果他调用后直接拿这个值做数组下标——而实... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.09 K 阅读
最新C++nullopt表示空optional值 # `nullopt`:C++里那个“什么都没装”的`optional`空值 写C++时,你有没有过这种时刻:函数本想返回一个值,但某些条件下又实在没法给——比如查数据库没找到记录、解析JSON字段缺失、配置项未设置... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.46 K 阅读
最新C++has_value检查optional是否有效 # `has_value()` 不是“有没有值”的翻译,而是“能不能安全用”的开关 写 C++ 时遇到 `std::optional x;`,第一反应往往是:它到底有没有值?于是顺手敲出 `if (x)` —— 编译... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.59 K 阅读