These are my notes for the book Effective C++ by Scott Meyers you can see my simliar writing of his excellent Modern Effective C++
As for effective STL this is great.
Those are STL, the good old C, and the OOP C++.
#definesBefore your source code actually goes to the compiler, it will come to the symbol table, by using #defines instead of others, there are no meaningful exceptions throw when errors came
*thisIf you don’t intent to modify parameter pass
This is classic. Same advice from Bloch’s book.
In short, strive to remove as many as warning as possible.