● 域 (scope) 表示了程序中的一部分,其中的名称有唯一的含义
● 全局域( global scope ):程序最外围的域,其中定义的是全局对象
● 块域( block scope ),使用大括号所限定的域,其中定义的是局部对象
● 还存在其它的域:类域,名字空间域……
● 域可以嵌套,嵌套域中定义的名称可以隐藏外部域中定义的名称
#include <iostream>
int x = 4;
int main()
{
int x = 3;
{
int x = 5;
std::cout << x << std::endl;
}
std::cout << x << std::endl;
}
● 对象的生命周期起始于被初始化的时刻,终止于被销毁的时刻
● 通常来说
– 全局对象的生命周期是整个程序的运行期间
– 局部对象生命周期起源于对象的初始化位置,终止于所在域被执行完成
#include <iostream>
int x = 4;
int main()
{
int x = 3;
{
std::cout << x << std::endl;
int x = 5;
}
std::cout << x << std::endl;
}