作用域檢視原始碼討論檢視歷史
作用域(scope),程序設計概念,通常來說,一段程序代碼中所用到的名字並不總是有效/可用的,而限定這個名字的可用性的代碼範圍就是這個名字的作用域。作用域的使用提高了程序邏輯的局部性,增強程序的可靠性,減少名字衝突。
對於對象而言(其他也是一樣的),在main函數中,對象的作用域為他所在的最近的一對花括號內。在後花括號處析構函數被調用;全局的對象的作用域為聲明之後的整個文件,析構函數在最後被調用。另外,臨時產生的對象在使用完後立即會被析構。[1]
程序設計概念
作用域在許多程序設計語言中非常重要。通常來說,一段程序代碼中所用到的名字並不總是有效/可用的,而限定這個名字的可用性的代碼範圍就是這個名字的作用域。作用域的使用提高了程序邏輯的局部性,增強程序的可靠性,減少名字衝突。
對於對象而言(其他也是一樣的),在main函數中,對象的作用域為他所在的最近的一對花括號內。在後花括號處析構函數被調用;全局的對象的作用域為聲明之後的整個文件,析構函數在最後被調用。另外,臨時產生的對象在使用完後立即會被析構。下面是一個簡單的例子。
- include <iostream>
using namespace std;
class X {
public:
X() {
cout << "X::X()\n";
}
~X() {
cout << "X::~X()\n";
}
};
X f1(X x1) //完全不使用引用
{
cout << "f1(X f)\n";
return x1;
}
X& f2(X& x2) //完全使用引用
{
cout << "f2(X f)\n";
return x2;
}
X Globle_X; //全局版本
int main()
{
cout << "--------\n";
{
X Local_X; //局部版本
cout << "--------\n";
}
cout << "--------\n";
X Normal_X;
f1(Normal_X);
cout << "--------\n";
f2(Normal_X);
cout << "--------\n";
}
程序執行結果為:
X::X()
X::X()
X::~X()
X::X()
f1(X f)
X::~X()
X::~X()
f2(X f)
X::~X()
大家對照着就能看出來了……
作用域是DHCP服務器為客戶端計算機分配IP地址的重要功能,主要用於設置分配的IP地址範圍、需要排除的IP地址、IP地址租約期限等信息。
創建DHCP作用域
在Windows Server 2003系統中的DHCP服務器中創建作用域的方法如下:
第1步,在開始菜單中依次單擊「管理工具」→DHCP菜單項,打開DHCP窗口。在左窗格中右鍵單擊DHCP服務器名稱,選擇「新建作用域」命令。
小提示:如果是在Active Directory(活動目錄)中部署DHCP服務器,還需要進行授權才能使DHCP服務器生效。本例的網絡基於工作組管理模式,因此無需進行授權操作即可進行創建IP地址作用域的操作。
第2步,打開「新建作用域嚮導」,在歡迎對話框中單擊「下一步」按鈕,打開「作用域名」對話框。在「名稱」編輯框中為該作用域輸入一個名稱,另外可以在「描述」編輯框中輸入一段描述性的語言。然後單擊「下一步」按鈕。
小提示:這裡的作用域名稱只起到一個標識的作用,基本上沒有實際用處。
第3步,打開「IP地址範圍」對話框,分別在「起始IP地址」和「結束IP地址」編輯框中輸入事先規劃的IP地址範圍的起止IP地址。接着需要在「子網掩碼」編輯框中輸入子網掩碼,或者調整「長度」微調框的值。設置完畢單擊「下一步」按鈕。
第4步,在打開的「添加排除」對話框中可以指定排除的IP地址或IP地址範圍,例如已經指定給服務器的靜態IP地址需要在此排除。在「起始IP地址」編輯框中輸入準備排除的IP地址並單擊「添加」按鈕,這樣可以排除一個單獨的IP地址,當然也可以排除某個範圍內的IP地址。單擊「下一步」按鈕。
第5步,在打開的「租約期限」對話框中,默認將客戶端獲取的IP地址使用期限設置為8天。根據實際需要修改租約期限(如30天),單擊「下一步」按鈕。
第6步,打開「配置DHCP選項」對話框,保持選中「是,我想現在配置這些選項」單選鈕,並單擊「下一步」按鈕。
第7步,在打開的「路由器(默認網關)」對話框中根據實際情況輸入網關地址,並依次單擊「添加」→「下一步」按鈕。
第8步,在打開的「域名稱和DNS服務器」對話框中可以根據實際情況設置DNS服務器地址。DNS服務器地址可以設置為多個,既可以是局域網內部的DNS服務器地址,也可以是Internet上的DNS服務器地址。設置完畢單擊「下一步」按鈕。
第9步,打開「WINS服務器」對話框,一般無需進行設置,直接單擊「下一步」按鈕。在打開的「激活作用域」對話框中,保持「是,我想現在激活此作用域」單選鈕的選中狀態,並單擊「下一步」按鈕。
第10步,最後打開「正在完成新建作用域嚮導」對話框,單擊「完成」按鈕即可。
視頻
作用域 相關視頻
參考文獻
- ↑ 作用域(scope), 定義空間(declaration space) 和 生存期(lifetime),博客園,2009-10-16