1、函数体外定义的未初始化的变量初始值皆为0,函数体内定义的初始化的变量初始值不定。
2、extern声明不是定义,也不分配存储空间,它只是说明常量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。
3、只有在函数外部时,extern int week = 7 才能编译通过,因为只有全局常变量才能在其他地方所引用。
4、C++程序中每个名字都与唯一的实体(比如变量、函数和类型等)相关联,名字的唯一性在一定的范围内保证,而这一范围就叫作用域。通常作用域分为三种,全局作用域、局部作用域和语句作用域,其实还有更广义的类作用域和命名空间作用域。
5、作用域可以嵌套,即局部作用域内定义的变量会覆盖全局作用域内定义的同名变量,但通常不鼓励这样重名定义。
6、在变量的使用处定义变量是一个好习惯。
7、因为const常量在定义后不能被修改,所以定义时必须初始化。
8、函数体外的const常量局部于文件中创建,要想在其他文件中引用,定义时必须加extern关键词,但函数外定义的非const变量默认为extern,定义时无需加extern也能被其他文件引用。
9、引用实际上是其绑定对象的别名,所以引用在定义时必须用相同类型的对象为其初始化,而且一旦初始化后便不能再更改绑定对象。
10、指向const对象的引用必须加const关键词。
11、非const引用只能绑定到与该引用相同类型的对象,const引用则可以绑定到不同但相关的类型的对象或者绑定到右值(常数),因为编译器会帮我们隐式地创建一个同类型变量并完成一个类型转换的过程。
12、默认地,第一个枚举成员赋值为0,后面的每个枚举成员赋的值比前面的大1。
13、枚举成员是常量,所以必须在定义时为成员赋初值,枚举成员值可以是不唯一的,定义后不能尝试为枚举成员赋值。
14、编程新手们常常忘记类定义后面的分号,这是一个很普遍的错误。
15、class和struct关键字定义类的唯情况区别在于默认访问级别:默认下,struct的成员为public,而class的默认成员为private。
16、因为头文件包含在多个源文件中,所以不应该含有变量或者函数的定义。但是头文件可以定义类、值在编译时就知道的const对象和inline函数。
17、当我们在头文件中定义了const变量以后,每个包含该头文件的源文件都有了自己的const变量,其名称和值都一样。相反,和其他变量一样,源文件中的const变量应该在头文件中为它添加extern声明,以便其能够被多个文件共享。
18、头文件应该含有保护符,即使这些头文件不会被其他头文件包含。编写头文件保护符并不困难,因而如果头文件被多次包含,它可以避免难以理解的编译错误。
除非注明,文章均为CppLive 编程在线原创,转载请注明出处,谢谢。
很想学C++,就是没时间。。哎
嘿嘿 时间就像海绵里面的水 挤挤总会有的 😛
这是在是整不明白
呵呵 没办法 因为工作紧张的缘故 时常没有太多的时间写太通俗的文章 只好将读书笔记贴上来“完成任务”了 🙂