Cpp

cpp
https://www.fluentcpp.com/2017/06/02/write-template-metaprogramming-expressively/

https://www.youtube.com/watch?v=DHOlsEd0eDE cppcon channel

oop hoax
http://blog.llvm.org/2009/12/dreaded-two-phase-name-lookup.html C++ has more than its fair share of dark, dank corners, especially where templates are concerned. One of the most vexing is "two-phase name lookup", which involves lookup for any names that occur in the body of a template

Liskov
http://wiki.c2.com/?LiskovSubstitutionPrinciple "....before continuing. Note that the circle/ellipse problem deals with interface substitutability. Liskov substitutability requires behaviour equivalence from a subtype. This is an extremely important difference. ...."

which is a tautology.

faq
http://yosefk.com/c++fqa/  The main purpose of this FQA is to convince people of the following: There is no reason to use C++ for new projects. However, there are existing projects in C++ which might be worth working on. Weighting the positive aspects of such a project against the sad fact that C++ is involved is a matter of personal judgment. If you end up working with C++, don't try to "fix" it (or "boost" it). You'll just add more layers of complexity. The most productive approach is to accept the problems and try to write simple code which people can easily follow. If you are an expert in the intricacies of C++, please consider this knowledge a kind of martial art - something a real master never uses.

books
https://web.archive.org/web/20120114014140/https://www.informit.com/store/product.aspx?isbn=0321125185 C++ Gotchas is the professional programmer's guide to avoiding and correcting ninety-nine of the most common, destructive, and interesting C++ design and programming errors. It also serves as an inside look at the more subtle C++ features and programming techniques.

This book discusses basic errors present in almost all C++ code, as well as complex mistakes in syntax, preprocessing, conversions, initialization, memory and resource management, polymorphism, class design, and hierarchy design. Each error and its repercussions are explained in context, and the resolution of each problem is detailed and demonstrated.

Author Stephen Dewhurst supplies readers with idioms and design patterns that can be used to generate customized solutions for common problems. Readers will also learn more about commonly misunderstood features of C++ used in advanced programming and design. A companion Web site, located at http://www.semantics.org, includes detailed code samples from the book.

Readers will discover:


 * How to escape both common and complex traps associated with C++
 * How to produce more reusable, maintainable code
 * Advanced C++ programming techniques
 * Nuances of the C++ language

C++ Gotchas shows how to navigate through the greatest dangers in C++ programming, and gives programmers the practical know-how they need to gain expert status.

links
Torvalds on C++

http://www.parashift.com/c++-faq-lite/proper-inheritance.html

https://medium.com/software-design/pure-functions-in-c-fc102fd9c5e0 pure functions in c