Thinking in C++.Vol. II: practical programming - Eckel, Bruce (Vol.II : Practical Progrmming, 2004)