之前看到的程式,都是通過直接說明名字來自 std 命名空間,來引用標準庫中的名字。例如,需要從標準輸入讀取資料時,就用 std::cin。這些名字都用了:: 操作符,該操作符是作用域操作符。它的含義是右運算元的名字可以在左運算元的作用域中找到。因此,std::cin 的意思是說所需要名字 cin 是在命名空間 std 中定義的。顯然,通過這種符號引用標準庫名字的方式是非常麻煩的。
c++ 提供了更簡潔的方式來使用命名空間成員。本節將介紹一種最安全的機制:using 宣告。
使用 using 宣告可以在不需要加字首 namespace_name:: 的情況下訪問命名空間中的名字。using 宣告的形式如下:
using namespace::name;
一旦使用了 using 宣告,我們就可以直接引用名字,而不需要再引用該名字的命名空間。
#include
#include
using
std::cin;
using
std::string;
int main()
每個名字都需要乙個 using 宣告
乙個 using 宣告一次只能作用於乙個命名空間成員。using 宣告可用來明確指定在程式中用到的命名空間中的名字,如果希望使用 std(或其他的命名空間)中的幾個名字,則必須為要用到的每個名字都提供乙個 using 宣告。
#include
using
std::cin;
using
std::cout;
using
std::endl;
int main()
對 cin,cout 和 endl 進行 using 宣告,就意味著以後可以省字首 std::,直接使用命名空間中的名字,這樣**可以更易讀。
使用標準庫型別的類定義
有一種情況下,必須總是使用完全限定的標準庫名字:在標頭檔案中。理由是標頭檔案的內容會被預處理器複製到程式中。用 #include 包含檔案時,相當於標頭檔案中的文字將成為我們編寫的檔案的一部分。如果在標頭檔案中放置 using 宣告,就相當於在包含該標頭檔案 using 的每個程式中都放置了同一 using,不論該程式是否需要 using 宣告。
通常,標頭檔案中應該只定義確實必要的東西。
關於using宣告與using指令 c
書中提到using宣告與using指令。using std cin 這就是乙個using宣告,就像乙個普通的宣告。以後提到cin時就指的是std裡面的。using namespace std 這就是乙個using指令,匯入所有std裡面的應用。除此之外,還需注意 以下引自 一般來說,使用using宣...
過載和using宣告 using指示
using 宣告 using 命名空間 成員 一次只引入命名空間中的1個成員。令名字在區域性作用域有效,外層作用域的同名實體將被隱藏。using 指示 using namespace 命名空間 使得某個特定的命名空間中名字都可見。令整個命名空間內容都有效,而通常命名空間中含有一些不能出現在區域性作用...
命名空間using 宣告
1.作用域操作符 std cin,含義 有運算元的名字可在左運算元的作用域中找到。通過 作用域操作符可實現對全域性範圍的變數進行訪問。例如 cout a 輸出全域性作用域的變數a的值。2.using 宣告 using namespace std using std cin 3.使用標準型別的類定義 ...