As I see it, there are multiple "sub languages" in c++:
-Macros: use as little as possible.
-Classic C: use only when interacting with C libraries, or in the few cases where it's more convenient (printf over cout).
-Classic C++ (classes, etc): use it all the time.
-Template meta programming: use only for simple things, eg containers.
-Functional C++: try to avoid.
As I see it, there are multiple "sub languages" in c++:
-Macros: use as little as possible.
-Classic C: use only when interacting with C libraries, or in the few cases where it's more convenient (printf over cout).
-Classic C++ (classes, etc): use it all the time.
-Template meta programming: use only for simple things, eg containers.
-Functional C++: try to avoid.