This is a presentation by Alfredo Correa (LLNL) on good C++ programming practices.  C++ techniques from AFQMC.pdf. Alfredo is supported in part by the QMCPACK ECP project, which also supports Nichols A. Romero (Unlicensed).


(Reproducing two of the main slides)

When is a good idea to use OO (virtual, new,>, etc)? (spoiler: almost never to do math or a simulation)

Perhaps if:

Perhaps not if:

Remember, virtual was never used in the STL and it still went a long way:

$ grep -R virtual /usr/include/c++/*

Conclusions