c++ primer plus 第六版第九章学习笔记

  1. 静态、自动、动态变量:

静态指变量在使用完后不会消失,编译器会为其指定特定的内存空间;自动变量在使用完后便会消失,编译器将其存在称为栈的地方;动态变量指用c++运算符new或c函数malloc()分配的内存,不是LIPO,其分配释放顺序取决于new、delete的使用,这个内存空间为堆。

2、Static静态变量声明说明:

  1. 在函数或代码块外面声明的变量为全局变量,当不加任何说明符或者加extern说明符时,表示其为外部变量,在变量定义所属的文件之外使用extern关键字可使用同一个变量(在所有使用该变量的文件中修改变量会相互影响),但只能在一个文件中对其初始化;全局变量+static说明符时,表示该变量为内部变量,只能在本文件中对其使用。
  2. 在函数中或者代码块(花括号包括的内容)中不加任何限定符的变量定义为局部变量,其生命周期只在函数或者代码块中,使用完后便消失,下次再进行函数调用或者程序运行到代码块时,又将对其重新初始化,即上一次使用值不影响下一次使用;局部变量+static表示为静态变量,即每次使用后变量不消失,其一直存在,下一次使用的初始值为上一次使用后的结果值。

3、const+全局变量,该变量的链接性为内部。

4、函数的链接性与持续性:

   默认函数均为外部的、静态的,即函数可以在文件中共享,且在整个程序执行期间都一直存在;在函数定义和原型中都使用static关键字时,该函数只在该文件中可见;

5、名称空间使用

1)using 声明与using 编译:前者使单名称的可见;后者使名称空间中的所有名称均可见;作用域为声明区域;

2)可使用作用域解析符“::”在每次使用名称空间的名称时进行说明;

猜你喜欢

转载自blog.csdn.net/Schlangemm/article/details/84175279