diving into c++