C++ Resources

Using C++ Features Conservatively

  • Orthodox C++ "Orthodox C++ (sometimes referred as C+) is minimal subset of C++ that improves C, but avoids all unnecessary things from so called Modern C++. It's exactly opposite of what Modern C++ suppose to be."
  • Why Your C++ Should Be Simple

C++ Debugging Resources

C++ Libraries

  • musl: A Linux libc implementation which is designed to be statically linkable as well as small, efficient, and readable.
  • HPX: A parallel runtime based on advanced futures and lightweight tasks which scales from embedded devices to distributed clusters.
  • libFuzzer: A Clang Tools project to do fuzz-testing for C++ based on coverage analysis. I.e., throws broken inputs at your program to see if it falls over while tracking which code paths are being reached.
  • Brigand Metaprogramming: A macro-free template metaprogramming library which relies on C++ 11 and so compiles faster than Boost::MPL while leading to less verbose client code. Eleven minute talk.

C++ Tools

C++ Standards Documents

  • Parallelism TS: Improvements to C++ concurrency support aimed at exploiting multiple cores and heterogenous compute capabilities.

C++ Techniques

Large Scale C++

C++ in the Weeds

  • std::move
    • std::move Is Not Destructive Move, Matt Calabrese, May 30 2014. Matt points out that std::move is not destructive and that the object on the rhs of a move should still be in a reasonable state after the move. Destructive moves would actually be desireable from an efficiency point of view: after all moved from objects are typically thrown away immediately post-move.
    • About Move, Sean Parent, 2014.

Edit this page.

C++ Posts

Posted by Andrew

Category C++

C++ Compilers Generating Rotate Instructions

Posted by Andrew

Category C++

Showing the Size of a Class in the C++ Compiler Output