C++using聲明和using編譯指令
1.using聲明
C++當中提供了兩種機制(using聲明和using編譯指令)來簡化對名稱空間中名稱的使用。using聲明使特定的標識符keys,using編譯指令使整個名稱空間可用。
using聲明由關鍵字using和被限定的名稱組成:
using A::fetch;
using
聲明將特定的名稱添加到它所屬的聲明區(qū)域中,完成聲明之后,我們可以使用fetch代替A::fetch了。
我們來看一個具體的例子:
namespace A { ? ? double bucket(double n) {..} ? ? double fetch; ? ? struct Hill {...}; } int main () { ? ? using A::fetch; ? ? cin >> fetch; ? ? fetch += 1.0; ? ? A::Hill hill; }
如果我們在函數外使用using
聲明,會將名稱添加到全局名稱空間中:
using A::fetch; void test() { ? ? cout << fetch << endl; } int main () { ? ? cin >> fetch; ? ? fetch += 1.0; ? ? A::Hill hill; }
2.using編譯指令
using
聲明只能使一個名稱可用,而using編譯指令可以使得所有的名稱都可用。using編譯指令由名稱空間和它前面的using namespace
組成,它使得名稱空間中的所有名稱都可用。
如:
using namespace A;
在全局聲明區(qū)域使用using編譯指令,將使得該名稱空間的名稱全局可用。這種情況其實我們已經非常熟悉了,因為我們一直在用using namespace std
。
我們也可以在函數當中使用using編譯指令:
int main () { ? ? using namespace A; }
到此這篇關于C++using
聲明和using
編譯指令的文章就介紹到這了,更多相關C++using聲明和using編譯指令內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
CMake 生成靜態(tài)庫與動態(tài)庫的方法步驟
本文主要介紹了CMake 生成靜態(tài)庫與動態(tài)庫的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06