August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
每个对象在定义时被分配一个类型。对于一个程序或程序的一个部分,如果使用的对象符合它们规定的类型,那么它们是类型安全的。不幸的是,有些执行的操作是类型不安全的。例如,在一个变量没有初始化之前使用它,被认为是类型不安全的:
当没有初始化的x被使用时,有的实现甚至可以给出一个硬件错误。永远记住初始化你的变量!这个规则的例外非常少,例如我们立即将一个变量作为输入操作的目标,但是记住初始化变量是一个好习惯,它会为我们减少很多的麻烦。
完全的类型安全是理想的,因此它是语言的一般性规则。不幸的是,C++编译器不能保证完全的类型安全,但是通过良好的代码训练和运行检查,我们可以避免违反类型安全。理想情况是绝不使用编译器不能保证类型安全的语言特性:静态类型安全。不幸的是,它对于大多数有趣的编程应用过于严格。很明显低效的做法是,编译器隐式地生成代码来检查是否违反类型安全并全部标记它们,C++并不支持这种方式。当我们决定做(类型)不安全的事时,我们必须自己做某些检查工作。当在本书中遇到这种情况时,我们将会指明。
类型安全的思想在编写代码时非常重要。这是我们在这本书的靠前章节花费时间介绍它的原因。请注意陷阱并避开它们。