C++11:书、在线工具、库。
书
1. 《现代C++语言核心特性解析》
覆盖 C++11~C++20 特性的讲解。
视频跟读:https://www.bilibili.com/video/BV1nN4y1j7fv
现代CPP随笔_0CCh - 每天5分钟了解现代C++新特性
2. 《C++ Primer》第五版
基于 C++11 的 C++ 入门书。
正在看。
3. 《C++程序设计原理与实践》
正在看。
4. 《C++沉思录》(Ruminations on C++ 中文翻译)
正在看。
在线网站
1. CppInsight: https://cppinsights.io
可以将 c++ 代码转为 c++ 编译器处理后的代码,仍然是 c++ 的样子而不是汇编代码,提供了不错的可读性,帮助理解 c++ 语法黑魔法。例如 lambda 表达式展开为了 functor
2. Compiler Explorer: https://godbolt.org
c/c++代码转汇编,以及部分平台的运行。编译器特别多,编译器版本也很全。
缺点:msvc 编译器下,代码无法执行; 没有 apple clang 编译器
3. float-toy
用来理解浮点数的二进制表示的网站。
原版: https://evanw.github.io/float-toy
精度改进版:https://shiona.github.io/float-toy
4. 在线汇编和反汇编器
https://shell-storm.org/online/Online-Assembler-and-Disassembler/
例如查询某个 ISA 指令的二进制表示, 在开发 https://github.com/nihui/ruapu 时被用到
库
1. https://github.com/eggs-cpp/invoke
A C++11/14/17/20 implementation of INVOKE and its related facilities.
2. https://github.com/gulrak/filesystem
An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.
3. https://github.com/eggs-cpp/variant
Eggs.Variant is a C++11/14/17 generic, type-safe, discriminated union.