Skip to content

References

Core Language

  • Accelerated C++: Recommended for a quick start, but after reading this article you probably no longer need it; also it is a bit dated.
  • https://en.cppreference.com/w/: Quick reference for the language and the standard library.
  • https://isocpp.org/wiki/faq: Official FAQ. If you have never read it, skim it once to form an impression.
  • https://abseil.io/tips/: Tips collected by Google while developing the Abseil library. Most are about C++ itself rather than Abseil specifically.
  • The Design and Evolution of C++: Historical background written by the creator of C++. Helps deepen understanding; can be read like a story.
  • Imperfect C++: Discusses various issues with the language and how to work around them.
  • C++ Coding Standards: 101 Rules, Guidelines, and Best Practices
  • Exceptional C++ & More Exceptional C++: Recommended if you plan to use exceptions extensively.

Some books I personally do not recommend at this stage (personal opinion only; open to discussion):

  • The C++ Standard Library: Fine to use as a dictionary, but with cppreference it may be unnecessary.
  • C++ Primer: Too thick. If you already have experience with other languages, you don't need that much core-language material; most problems early on are around the ecosystem rather than the core language.
  • Modern C++ Design: Generic Programming and Design Patterns Applied: Asking beginners to dive into heavy template metaprogramming? Just use generics well—don't torture yourself. If you really need code generation, consider using Python to emit C++ unless templates are especially convenient (e.g., std::tuple). Also, constexpr keeps getting more powerful.

Project Engineering

(No references yet.)

Engineering Practice

Comments