本章介绍了C++中一些较复杂的计算,还讨论了如何定义自己的数据类型,但这里介绍的内容跟定义通用类型没有任何关系。通用类型的定义详见第11章。本章的主要内容如下:
● 可以在表达式中混合使用不同类型的变量和常量。编译器会在需要时,自动把变量转换为相应的类型。
● 当等号右边的类型与等号左边的类型不同时,也可以把等号右边的类型自动转换为等号左边的类型。当左边的类型不能完全包含与右边类型的信息相同的信息时,就可能丢失信息。例如把double转换为int或把long转换为short。
● 使用static_cast<>(),可以把一种基本类型的值显式转换为另一种基本类型。
● 在默认情况下,在一个块中声明的变量是自动变量,也就是说,它在声明它的那行代码处开始存在,到包含其声明的块的结尾处消失。块尾用右花括号表示。
● 变量可以声明为静态,此时该变量存在于程序的整个生存周期。但是,它只能在定义它的作用域中访问。如果没有显式初始化静态变量,它就会默认初始化为0。
● 在程序中,变量可以在所有块的外部声明,此时该变量具有全局命名空间作用域,在默认情况下具有静态的存储持续时间。在包含它们的程序文件中,具有全局作用域的变量可以在声明它之后的任何位置访问,除非存在一个与该全局变量同名的局部变量。即使如此,全局变量仍可以使用作用域解析运算符(::)访问。
● 关键字typedef允许定义其他类型的同义词。
● extern关键字允许引用在另一个文件中定义的全局变量。





