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