C++的作用域

1.全局域
生命周期:全局变量在进入主函数之前被创建,整个程序结束才销毁
可见性:可见性是编译阶段的概念,全局变量从定义的位置起向下可见
2.局部域

// /*函数局部域
void fun()
{
    int x;
    if(x==0)  
    {//  /* 3.块域   
        int y=x;
    }//  */
}
//  */


3.块域
1)声明区域典型为一对花括号{ }括起来的程序块。其内部声明的名字的作用域从首次声明之处至该块的结束之处
2)在函数局部域才有块域
3)进入到块里创建y,块结束则销毁y (块域是局部加锁的重要工具,有时候希望锁住函数一部分而不是锁住函数的全部,则加上一个块域,如进入块域加锁退出块域解锁)
4.类域
在类的定义体内可见的所有成员和方法(包括普通成员普通函数和静态成员静态函数)都属于类域
类的成员名字在其所在的类作用域内、或者派生类作用域内可见,或者通过 .运算符、->运算符、::限定符访问。
type class::name =value;//限定符访问
type class::Fun(){}
类型 类名::类成员(或者类函数)
5.命名空间域
主要是解决全局名字空间污染的问题(程序中全局实体名与其它程序中的全局实体名字冲突)
编译器会把命名空间合并

6.文件域
一般变量默认都为extern
const 修饰的变量只能在本文件中使用,而要想在其它文件中使用,则必须显示的加上extern

猜你喜欢

转载自blog.csdn.net/weixin_53472334/article/details/131989355