在软件中,回答此类问题所需的信息是由类型系统来提供的。编程语言使用类型系统来简化生成优质代码的任务。类型系统定义了一组可供开发人员在其程序设计中选择使用的类型和操作。一个类型定义一个值空间,或者换句话说,定义一组可能的值。例如,如果上面的操作数被认为是数值类型,答案就可能是 3;但如果它们被认为是字符串型,答案就可能是 “12”,具体情况取决于 “+” 运算符是如何定义的。 类型系统的主要好处之一是,编译器可以使用它在运行前确定代码中是否包含错误,这样就避免了可能产生大量的错误。编译器还可以利用类型系统信息针对给定类型生成操作代码。另外,编译器和运行库都在很大程度上依赖类型系统来确定在使用某