using 聲明:每次只引入命名空間的一個成員(using xxx::memeber)。其有效范圍從 using 聲明的地方開始,一直到 using 聲明所在的作用域結(jié)束為止。在此過程中,外層作用域的同名實體將被隱藏。
using 指示:以關鍵字 using 開始,加上 namespace 以及命名空間的名字(using namespace xxx)。using 指示使得某個特定的命名空間中所有的名字都可見,這樣我們就無須再為這些名字添加任何前綴限定符了。簡寫的名字從 using 指示開始,一直到 using 指示所在的作用域結(jié)束都能使用。
使用 using 指示存在的風險:
1. 全局命名空間污染。如果應用程序使用了多個不同的庫,通過使用 using 指示,命名空間中所有成員的名字都變得可見,這會導致二義性,也就是全局命名空間污染問題。
2. using 指示引發(fā)的二義性錯誤只有在使用了沖突名字的地方才能被發(fā)現(xiàn)。這意味著可能在引入某個庫很久之后才會爆發(fā)沖突
相比于使用 using 指示,在程序中對命名空間的每個成員分別使用 using 聲明效果更好,這樣做一是可以減少注入到命名空間的名字數(shù)量,二是 using 聲明引起的二義性問題在聲明處就能發(fā)現(xiàn),無須等到使用名字的地方,這對檢測并修改錯誤有益。
更多關于“物聯(lián)網(wǎng)培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業(yè)需求,更科學更嚴謹,每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。