cpp programming and design

选择

设计的一种模式

C++

C++ 语言特性

C++11

中文描述 相关链接
stroustrup 关于c++新特性的解读 http://www.stroustrup.com/C++11FAQ.html
C++ template 特性 https://github.com/MCGallaspy/dr_strangetemplate
C++ template 学习 https://www.codeproject.com/Articles/257589/An-Idiots-Guide-to-Cplusplus-Templates-Part
C++ string <--> hex https://stackoverflow.com/questions/3381614/c-convert-string-to-hexadecimal-and-vice-versa#3382894
C++类似C struct bitwise操作 https://stackoverflow.com/questions/12482806/structures-with-bitwise-data-in-c
C++ 操作符号重载<高级> https://stackoverflow.com/questions/4421706/what-are-the-basic-rules-and-idioms-for-operator-overloading
C++ 指针变量 vs 引用变量 https://stackoverflow.com/questions/57483/what-are-the-differences-between-a-pointer-variable-and-a-reference-variable-in
dynamic_cast vs static_cast vs const_cast vs reinterpret_cast https://stackoverflow.com/questions/332030/when-should-static-cast-dynamic-cast-const-cast-and-reinterpret-cast-be-used
C++ variadic template解释jump wall https://eli.thegreenplace.net/2014/variadic-templates-in-c/
C++ generic types比较 https://stackoverflow.com/questions/7518954/how-do-i-compare-two-generic-types-in-c
std::find,std::find_if,std::find_if_not https://en.cppreference.com/w/cpp/algorithm/find
无锁的并行队列库for modern c++ https://github.com/cameron314/concurrentqueue
Modern C++读取文件内容 https://stackoverflow.com/questions/2912520/read-file-contents-into-a-string-in-c
std::vector 有符号和无符号为index时的迭代问题 https://stackoverflow.com/questions/409348/iteration-over-stdvector-unsigned-vs-signed-index-variable#409396
C++右值引用一 https://www.artima.com/cppsource/rvalue.html
C++右值引用二 https://www.codeproject.com/articles/1002903/cplusplus-rvalue-references?display=print
C++右值引用三 http://thbecker.net/articles/rvalue_references/section_01.html
C++ 模板学习总结 https://arobenko.gitbooks.io/bare_metal_cpp/content/compiler_output/templates.html?q=
HackNews 关于c++ ‘modern’的讨论 https://news.ycombinator.com/item?id=18777735
SFINAE and enable_if 分析 https://eli.thegreenplace.net/2014/sfinae-and-enable_if/
C++可变模板的分析 http://jguegant.github.io/blogs/tech/thread-safe-multi-type-map.html
C++完美转发以及通用性引用的分析 https://eli.thegreenplace.net/2014/perfect-forwarding-and-universal-references-in-c/
C++ 参数转发的思考 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm
C++函数式编程分析 http://www.gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php
C++引用分析(视频资源) https://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-2012-Scott-Meyers-Universal-References-in-Cpp11
SFINAE 分析 https://en.cppreference.com/w/cpp/language/sfinae
SFINAE 分析二 https://jguegant.github.io/blogs/tech/sfinae-introduction.html

C++14

中文描述 相关链接

C++17

中文描述 相关链接
kacperkolodziej 关于c++17新特性解读 https://kacperkolodziej.com/programming/my-favourite-cpp17-language-features.html
cpp17 更美观的终端打印库 https://github.com/p-ranav/pprint

C++20

中文描述 相关链接
C++20标准分析 https://herbsutter.com/

C++ 编译特性

中文描述 相关链接
C++链接C静态库 https://stackoverflow.com/questions/19063975/linking-c-compiled-static-library-to-c-program
Itanium C++ ABI(C++汇编接口) itanium-cxx-abi.github.io/cxx-abi/abi.html
C++ 链接器分析 http://a3f.at/lists/linkers
SO文件 GOT,PLT表分析一 http://phrack.org/issues/56/7.html
GNU hash elf分析 https://blogs.oracle.com/solaris/gnu-hash-elf-sections-v2
CPU模拟器分析 http://www.emulator101.com/
GOT表和PLT表分析二 https://systemoverlord.com/2017/03/19/got-and-plt-for-pwning.html
C++虚基表 https://shaharmike.com/cpp/vtable-part1/
C++ pointer_traits(暂时没弄懂) https://stackoverflow.com/questions/15349326/what-does-pointer-traits-provide-for-types-that-are-neither-xa-t-nor-provi
解释器分析 http://craftinginterpreters.com/contents.html

C++ 工程案例

中文描述 相关链接
C++11 精简数据structure库 https://github.com/simongog/sdsl-lite
C++马尔可夫链实现 https://github.com/NathanEpstein/markov
C++ 标准库分配器重新实现 https://www.codeproject.com/Articles/4795/C-Standard-Allocator-An-Introduction-and-Implement
C++ Modern实现for Json https://github.com/nlohmann/json
Modern C++ 实现流处理库 https://github.com/chyh1990/futures_cpp
软件设计模式Actor Modern C++实现 https://github.com/actor-framework/actor-framework
Google关于C++ std扩展库 https://abseil.io/tips/
superstring 更安全的C++ string处理库 https://github.com/btwael/SuperString
异步并行库for modern c++ https://github.com/Amanieu/asyncplusplus
semi::static_map & semi::map https://github.com/hogliux/semimap
C++ logging库 https://github.com/gabime/spdlog
Modern C++ 并行库 https://stlab.cc/
google 关于代码相似性检测c++代码 https://github.com/googleprojectzero/functionsimsearch
c++ Metaprogramming库 https://github.com/ericniebler/meta
C++实现的基于zkSNARKs协议的加密库 https://github.com/scipr-lab/libsnark
C++实现的开源搜索引擎库 https://xapian.org/
180行代码实现的c++ 3D图形 https://github.com/ssloy/tinykaboom/wiki
C++ Type 设计问题 https://www.spiria.com/en/blog/desktop-software/hypothetical-c-easy-type-creation/
整合的开源c++库 https://en.cppreference.com/w/cpp/links/libs
modern c++最全指南 https://thispointer.com
C++ 跨平台的web框架 http://www.treefrogframework.org/

C++ 重新思考

中文描述 相关链接
C++ 通用材料一 https://github.com/MattPD/cpplinks/blob/master/executables.md
C++ 通用材料二 https://github.com/fffaraz/awesome-cpp
C++ linkedList思考 https://stackoverflow.com/questions/2079296/c-templates-linkedlist
C++ 多继承重新思考 http://www.drdobbs.com/cpp/multiple-inheritance-considered-useful/184402074
C++ 模拟 "super" keyword https://www.fluentcpp.com/2017/12/26/emulate-super-base/
Google 关于C++的教育分析 https://developers.google.com/edu/c++/cpp-in-depth
无缝处理c++与python绑定 https://github.com/pybind/pybind11
lambda c++ for 11,14,17 https://oscarforner.com/2016/05/14/Lambda_expression_comparison_between_C__11__C__14_and_C__17
C++ Dialect For 内存崩溃 http://ithare.com/a-usable-c-dialect-that-is-safe-against-memory-corruption/
C++11,14,17新特性(中文入手) https://changkun.de/modern-cpp/book/00-preface/
c++元编程思考 https://news.ycombinator.com/item?id=16257216
C++ 使用template functor模拟callback https://news.ycombinator.com/item?id=18650902/
C++ 存储对象在分布式内存中 https://people.eecs.berkeley.edu/~brock/blog/storing_cpp_objects.php
C++ 初始化流程的思考 https://mikelui.io/2019/01/03/seriously-bonkers.html
关于c++初始化流程 hacknews上的讨论 https://news.ycombinator.com/item?id=18832311
boost库关于通用类型编程的分析 https://www.boost.org/community/generic_programming.html
C++ shared_ptr指针分析 http://snf.github.io/2019/02/13/shared-ptr-optimization/

Modern C++ Blog

中文描述 相关链接
Jonathan Boccara https://www.fluentcpp.com
Shahar https://shaharmike.com/cpp/
Andrei Alexandrescu erdani.com/publications/
Eric Niebler(Range-V3作者) 顶级c++专家 http://ericniebler.com/
Barry Revzin https://brevzin.github.io/posts/
Bartek's coding blog https://www.bfilipek.com/

C++ 工具集

中文描述 相关链接
今天分析工具for C&C++ https://github.com/NASA-SW-VnV/ikos

C++编码规范

中文描述 相关链接
c++编码规范总结(高级) https://github.com/isocpp/CppCoreGuidelines
C++编码规范(官网) https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines.html

C

C语言特性

中文描述 相关链接
微软重新设计的Checked C https://github.com/Microsoft/checkedc

C语言工程案例

中文描述 相关链接
C结构化的并行处理库 http://libdill.org/documentation.html
C库处理CSS,XML绑定 https://github.com/lc-soft/LCUI
C语言网络编程toturial https://beej.us/guide/bgnet/html/single/bgnet.html
C语言的分词 https://onebyezero.blogspot.com/2018/12/string-tokenization-in-c.html
C语言的HackNews分词讨论 https://news.ycombinator.com/item?id=18687774
Facebook开源的高性能压缩库zstandard https://github.com/facebook/zstd
Hacknews关于facebook开源压缩库的讨论 https://news.ycombinator.com/item?id=18719592
POSIX 多线程编程指南 https://computing.llnl.gov/tutorials/pthreads/
GNU Attribute使用 https://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html#Type-Attributes

C语言 Blog

中文描述 相关链接
Nora Sandler<编译器相关> https://norasandler.com/

GDB 调试Exploit

中文描述 相关链接
python完美封装gdb调试 https://github.com/pwndbg/pwndbg

C&C++ 构建工具

中文描述 相关链接
Bazel https://www.bazel.build/
cmake 01 https://github.com/pr0g/cmake-examples#modern-cmake-examples
cmake 02 https://cliutils.gitlab.io/modern-cmake/chapters/basics.html

算法书籍

中文描述 相关链接
伊利诺伊大学教授Jeff Erickson http://jeffe.cs.illinois.edu/teaching/algorithms/#book

2019 CPlusplus

boost experimental

中文描述 相关链接
依赖注入原则 https://boost-experimental.github.io/di/cppnow-2019/