做的比較好的手機網(wǎng)站東營網(wǎng)站推廣公司
C++ 域 ::
? C++中域有函數(shù)局部域,全局域,命名空間域,類域;域影響的是編譯時語法查找一個變量/函數(shù)/類型出處(聲明或定義)的邏輯,所以有了域隔離,名字沖突就解決了。局部域和全局域除了會影響編譯查找邏輯,還會影響變量的生命周期,命名空間域和類域不影響變量生命周期。
示例一(命名空間域):
#include <iostream>
using namespace std;int a = 0;
namespace A
{int a = 2;
}
int main()
{cout << a << endl;cout << A::a << endl;return 0;
}
示例二(局部域與全局域):
#include <iostream>
using namespace std;
int a = 10;
int main()
{{int a = 20;cout << a << endl;}cout << a << endl;return 0;
}
所以從上可知局部域和全局域除了會影響編譯查找邏輯(就近原則),還會影響變量的生命周期(一般以一對 “{ }” 所在的區(qū)域為生命周期)。