引自:https://blog.csdn.net/Create_Queue/article/details/78033571
1.函數原型作用域:
此作用域為c++程序中最小的作用域,生存周期最短。
例:int func(int i) i為參數,作用域類型為函數原型類型。
2.局部作用域:與C語言類似;
函數體或某一個模塊中的變量,其作用域從聲明開始,一直到聲明所在的塊結束為止。
3.類的作用域
類中的數據和函數分為公有類(public),保護類(protected),私有類(private),
類公有派生類,保護派生類,私有派生類
類中的成員 在public中 ,可以在其他地方直接使用 使用方法:對象.公用類成員(對象::公用類成員)
而其他的需要借助公有類函數調用 ,但是在類中可以直接調用 。
例: class x的對象X的成員m具有類作用域,對m的訪問有三種
(1)如果 在X的成員函數中沒有聲明 同名 的局部作用域標識符,那么可以在該函數內可以直接訪問成員m。
(2)通過表達式x.m或者x::m。這正是程序中訪問對象的最基本的方法
(3)通過ptr->m這樣的表達式,其中ptr為指向x類的一個對象的指針。
4.命名空間作用域
命名空間的語法為
namespace 命名空間名{
各種聲明(class的聲明,函數的聲明,變量的聲明,常量的聲明………)}
如何引用呢? 命名空間名::標識符名
例:namespace WA{ class A; } 引用: namespace WA::A; using namespace WA; using WA::A;
命名空間分為三類:1.顯示 在某某命名空間中
2.全局命名空間 在using namespace std;下進行命名,也可以叫做全局變量 為static 儲存類型
3.匿名命名空間 例:namespace{ class A; }