Imperfect C++: Practical Solutions for Real-Life Programming