C 基礎之using宣告

2021-08-28 04:44:04 字數 1200 閱讀 3550

之前看到的程式,都是通過直接說明名字來自 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.使用標準型別的類定義 ...