C++ Primer Summary 02
标识符:变量名,即变量的标识符;C++中的标识符都是大小写敏感的。 初始化:复制初始化和直接初始化。直接初始化效率更高。 初始化不是赋值:初始化既创建变量又赋初始值,赋值则是擦除对象的当前值并用新值代替。 系统有时候会帮我们初始化变量,系统提供什么样的值取决于变量的类型以及定义的位置。 未初始化的变量引起运行问题:可能会导致程序错误执行和/或错误计算,问题出在未初始化的变量事实上都有一个值,编译器指定变量的内存地址,该地址原有数值依然存在。建议每个内置类型的对象都要初始化。 声明和定义:声明用于向程序表明变量的类型和名字。定义也是声明。但声明不是定义。可以使用extern声明变量。 extern int i;//declares but not define i int i;//declares and define i extern double i = 0;//definition C++语言中,变量必须且仅能定义一次。 变量名相同,在局部作用域中局部变量会屏蔽全局变量。 函数外部的名字具有全局作用域。类作用域、命名空间作用域、语句作用域、局部作用域。 const限定符把一个对象转换成一个常量,定义const对象时必须初始化。 const对象默认为文件的局部变量。与其他变量不同,除非特别说明,在全局作用域声明的const变量是定义该对象的文件的局部变量。此变量只存在于那个文件钟