namespace的說明與指示

2021-10-18 19:23:28 字數 1038 閱讀 1534

一次只引入命名空間的乙個成員(using std::cout)

別的同名實體將被隱藏,可不用頭部直接使用cout

一次引入整個命名空間(using namespace std)

即使是在函式內部使用也依舊好像在全域性變數的位置一樣,我理解的是這種描述的「效力」沒有那麼強(下面的例子可以說明)

#include

#include

using std::cout;

using std::endl;

namespace blip

int j =0;

//正確,blip的j隱藏在命名空間中

voidf(

);intmain()

voidf(

)輸出:160

1590

可以看到,當我們用using指示一次引入整個命名空間的時候,我們有一處注釋掉的**。因為在這裡引入變數 j會有命名衝突發生,從而引發編譯錯誤,使用時依舊需要將名字空間加在 j前面,就好像這個是在全域性中寫的一樣。當然,我們可以看到 f()中的 j依舊是0沒有衝突,也就是對別的函式不造成影響,只對main()函式好像是寫在全域性。

#include

#include

using std::cout;

using std::endl;

namespace blip

int j =0;

//正確,blip的j隱藏在命名空間中

voidf(

);intmain()

voidf(

)輸出:160

1590

而在這種情況下,用using宣告就能夠遮蔽外部的全域性變數,做到直接使用blip中定義的 j,同時 f()中的全域性變數 j依舊沒有影響。

總的來說就是using指示引入的名字「效力」沒有那麼強,這點我估計是考慮到很多處使用using指示的時候由於引入的名稱太多,編譯器會不方便判斷而統一處理的一種策略。所以在這裡也告訴我們在大型專案中要盡量謹慎的使用using指示,預防錯誤的出現。

2 3 LED指示燈說明

led指示燈說明 1.指示燈是為了方便快捷判斷當前裝置的狀態.網路制式 裝置的狀態 燈的狀態 無服務未找到sim卡 紅色長亮 wifi未啟動 紅色1秒閃 wifi已啟動,未註冊網路 紅色3秒閃 2g gsm edge 已經註冊網路,未連線 黃色2秒閃 2g cdma 1x 已經註冊網路,已連線 黃色...

普通貓和光纖貓指示燈說明

內容提要 普通貓和光纖貓指示燈說明,普通貓 power指示燈亮,代表電源正常。link或ent或dsl或adsl 指示燈亮,代表連線正常,如果不亮 說明線路有問題。普通貓 power指示燈亮,代表電源正常。link或ent或dsl或adsl 指示燈亮,代表連線正常,如果不亮 說明線路有問題。data...

IBM伺服器指示燈報警說明

ibm伺服器指示燈報警說明 一 光通路診斷面板 提醒按鈕 該按鈕將前面板上的系統錯誤指示燈置為提醒方式。在提醒方式下,系統錯誤指示燈每 2 秒閃爍一次,直至問題得到糾正 系統重新啟動或發生新的問題。通過將系統錯誤指示燈置為提醒方式,可確認您已知道發生的上乙個故障,但暫時不立即採取措施來糾正問題。提醒...