Thanks for taking the time to make the C++ example.

About the abstractions and the optimizations of the compiler, I was lately looking into the output assembly of a C++ program and noticed that class constructors were inserted TWO times! Directly after the constructor, the same code was put after it another time. Why is this? Does it serve any purpose?

I may not know enough about the C (or C++) language(s) to think as abstract to solve a problem, but I'm yet learning Can you recommend any good book about for example structured programming or data structures?