Type Safety In Cpp