跳转至
C++那些事
——
光城的实验室
手撕 C++ FnOnce | C++那些事
Chinese
正在初始化搜索引擎
Light-City/CPlusPlusThings
主页
项目概要
编译与运行指南
基础进阶
源码剖析
惯用法
现代C++
工具篇
内存与调试
性能测评
项目实战
阅读与技巧
实战系列
设计模式
并发编程
学习课程
资料
联系作者
C++那些事
Light-City/CPlusPlusThings
主页
项目概要
编译与运行指南
基础进阶
基础进阶
C++ const 常量与修饰
C++ static 静态成员与生存期
C++ 虚指针与虚表机制
C 语言实现 C++ 多态
C++ 指针与引用
C++ 宏与条件编译
C++ this 指针
C++ inline 内联函数
C++ sizeof 运算符
C++ 纯虚函数与抽象类
C++ virtual 虚函数
C++ volatile 关键字
C++ assert 断言
C++ 位域
C++ extern 链接说明
C++ struct 结构体
C++ struct 与 class 区别
C++ union 联合体
C++ explicit 显式转换
C++ friend 友元
C++ using 声明与别名
C++ 命名空间
C++ enum 枚举类型
C++ decltype 类型推导
语言机制深入
语言机制深入
C++ mutable 关键字
C++ const 全家桶
C++ string ABI 兼容性
C++ ref 与 reference_wrapper
C++ std::function 详解
C++ 智能指针作函数参数
C++ 成员初始化列表注意点
C++ 多返回值写法
C++ 与 Rust 析构对比
C++ 初始化与赋值
C++ restrict 与编译优化
C++ 模板消歧
C++ 尾递归
C++ vector resize 与 reverse
C++ 解引用运算符 *
源码剖析
源码剖析
STL array 源码剖析
STL deque 源码剖析
STL queue 与 stack 源码剖析
STL list 源码剖析
STL vector 源码剖析
STL typename 源码剖析
STL traits 类型萃取
STL 迭代器源码剖析
STL 空基类优化 EBO
STL 红黑树实现
STL set 与 multiset
STL map 与 multimap
STL hashtable 哈希表
STL 手写哈希表实现
STL unordered_map 源码剖析
STL string 深析
STL string 面试题精讲
STL 迭代器失效
惯用法
惯用法
C++ 类初始化列表惯用法
C++ enum class 强类型枚举
C++ RAII 资源管理
C++ copy-and-swap 惯用法
C++ Pimpl 惯用法
C++ Mixin 惯用法
C++ 依赖注入
C++ 三字母词
C++ 避免默认构造函数
C++ 延迟计算惯用法
C++ Header-Only 与实现分离
C++ 类模板优于函数模板
C++ 查表法惯用法
C++ 成员指针与类型信息
现代C++
现代C++
C++11
C++11
C++11 新特性概览
C++ std::move 原理与用法
C++ 可变参数模板
C++ std::bind 与 lambda 对比
C++17
C++17
C++17 十七项高级特性
C++17 std::string_view
C++17 结构化绑定
C++17 变量模板
C++17 [[nodiscard]] 属性
C++17 PMR 内存资源
C++17 类模板参数推导 CTAD
C++17 std::variant
C++17 optional_ref
C++17 模板 auto 推导
C++20
C++20
C++20 新特性导读
C++20 协程入门
C++20 Ranges 库
C++20 模块 Modules
C++20 Lambda 表达式(上)
C++20 channel 实战
C++20 std::span 设计与陷阱
C++20 字节序 endian
C++20 constexpr 与逗号表达式
C++20 [[no_unique_address]]
C++20 三路比较运算符 <=>
C++20 Concepts 概念
C++20 [[likely]] 与 [[unlikely]]
工具篇
工具篇
CMake 入门与实战
Bazel 构建 C++ 项目
Meson 构建 C++ 项目
Conan C++ 包管理入门
GDB 调试 C++ 程序
LLDB 调试 C++ 程序
C++ dbg-macro 调试宏
Bazel 与 LLDB 联合调试
GDB Python 扩展调试
C++ 内存泄漏排查实战
C++ STL Debug 模式
C++ STL 容器快捷输出
C++ Jupyter Notebook 交互
C++ Insights 编译期观察
C++ string 转 int
GCC 编译选项详解
VS Code 格式化 C++ 代码
内存与调试
内存与调试
AddressSanitizer 内存检测
C++ 内存泄漏检测
Valgrind Massif 内存分析
性能测评
性能测评
memcpy 与 std::copy 性能对比
C++ string SSO 性能测试
C++ 多态:虚函数、CRTP 与 variant
项目实战
项目实战
C++20 协程 HTTP 服务器
C++ 短链接服务 Demo
C++ gRPC 小项目
pybind11 加速 Python
Google Benchmark 性能测试
手撕 C++ FnOnce
手撕 C++ FnOnce
目录
《C++那些事》手撕C++版本的Fn、FnOnce、FnMut
1.目标
C++ 进程间通信实战
C++17 与 SQLite 统计目录大小
Protobuf ZeroCopy 序列化
C++ 栈式计算器设计
阅读与技巧
阅读与技巧
C++ 字符串六种分割方法
如何阅读开源 C++ 代码
C++ 无循环打印 1-100
一段有趣的 C++ 代码
CPython 扩展开发笔记
libcurl C++ 开发备忘
实战系列
实战系列
C++ 十日速成练习
C++ 重点实战练习
设计模式
设计模式
C++ 单例模式
并发编程
并发编程
C++ Concurrency in Action 导读
C++ 多线程入门
C++ std::thread 与 jthread
C++ std::thread 内核实现
C++ 死锁排查
GDB 多线程 All-Stop 调试
Helgrind 并发错误检测
C++ False Sharing 与缓存行
C++17 并行 STL
C++ SIMD 向量化
libev 事件循环原理
学习课程
学习课程
极客时间《现代 C++ 实战 30 讲》
资料
资料
C++ 学习知识库
B 站 C++ 视频教程
C++ 学习资源与书单
联系作者
目录
《C++那些事》手撕C++版本的Fn、FnOnce、FnMut
1.目标
手撕 C++ FnOnce
¶
《C++那些事》手撕C++版本的Fn、FnOnce、FnMut
¶
1.目标
¶
评论
回到页面顶部