namespace的用法

1. C++中採用的是單一的全局變量命名空間

2.用戶於是可以通過三種方法來訪問這一名字空間裏的符號:將名字空間中的所有符號全部引入到某一用戶空間;將部分符號引入到某一用戶空間;或通過修飾符顯式地一次性使用某個符號

3.例子

namespace sdm {  const double book_version = 2.0;  class handle { ... };  handle& gethandle();}]

void f1(){  using namespace sdm; (使得sdm中的所有符號不用加修飾符就可以使用)  cout << book_version;(解釋爲sdm::book_version) ...  handle h = gethandle();(handle解釋爲sdm::handle,gethandle解釋爲sdm::gethandle)  ...}

void f2(){  using sdm::book_version; (使得僅book_version不用加修飾符就可以使用)  cout << book_version;(解釋爲sdm::book_version)  ...  handle h = gethandle();(錯誤! handle和gethandle都沒有引入到本空間)  ...}

void f3(){  cout << sdm::book_version; (使得book_version在本語句有效)  ...double d = book_version;(錯誤! book_version不在本空間)  handle h = gethandle();(錯誤! handle和gethandle都沒有引入到本空間)  ...}(有些名字空間沒有名字。這種沒命名的名字空間一般用於限制名字空間內部元素的可見性)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章