C++名稱空間的使用 (轉)
c++語言提供一個全域性的名稱空間namespace,可以避免導致全域性命名衝突問題。舉一個例項,請注意以下兩個頭:
// one.h
char func(char);
class String { ... };
// somelib.h
class String { ... };
如果按照上述方式定義,那麼這兩個標頭檔案不可能包含在同一個中,因為String類會發生衝突。
所謂名稱空間,是一種將程式庫名稱封裝起來的方法,它就像在各個程式庫中立起一道道圍牆。比如:
// one.h
namespace one
{
char func(char);
class String { ... };
}
// somelib.h
namespace SomeLib
{
class String { ... };
}
現在就算在同一個程式中使用String類也不會發生衝突了,因為他們分別變成了:one::String()以及Somelib::String()
這樣,就可以透過宣告名稱空間來區分不同的類或等了。
比如C++標準庫定義了名稱空間:std,其中包含容器vector,示例如下:
#include "stdafx.h"
#include
#include
#include
using namespace std;
int main(int argc, char* argv[])
{
const int arraysize = 7;
int ia[arraysize] = {0,1,2,3,4,5};
義容器vector
vector
vector return 0; 輸出結果為:4 found 4.
if(it1 == ivect.end ())
cout< else
cout<
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1003091/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++名稱空間C++
- c++系列:匿名名稱空間C++
- 使用p名稱空間和c名稱空間的XML快捷方式XML
- C++系列: 巢狀名稱空間C++巢狀
- 名稱空間
- vuex名稱空間Vue
- PHP 名稱空間PHP
- 20200109 - 名稱空間
- PHP名稱空間PHP
- python名稱空間Python
- Python名稱空間包Python
- 11. 名稱空間
- ts---名稱空間
- 15-名稱空間
- C++名稱空間、標準輸入輸出、引用C++
- C++ 動態記憶體分配與名稱空間C++記憶體
- spring框架中的名稱空間Spring框架
- Python中名稱空間是什麼?名稱空間生命週期是多久?Python
- 3-1 名稱空間
- PHP 核心特性 - 名稱空間PHP
- Kubernetes 名稱空間入門
- 什麼是名稱空間?
- ros節點名稱空間ROS
- php名稱空間的呼叫順序PHP
- 一篇弄懂PHP名稱空間及use的使用PHP
- PHP 獲取不帶名稱空間的類名PHP
- Python作用域和名稱空間Python
- System.Security.Cryptography 名稱空間
- Kubernetes 的層級名稱空間介紹
- Python中名稱空間包簡介Python
- 內聯和巢狀名稱空間巢狀
- 瞭解下C# 名稱空間(Namespace)C#namespace
- PHP 物件導向 (三)名稱空間PHP物件
- OpenCV 名稱空間學習筆記OpenCV筆記
- Django中重定向頁面的時候使用名稱空間Django
- 對名稱空間的一點個人理解
- yaml檔案中在哪加名稱空間?YAML
- 深入講解Python名稱空間規則!Python
- Python3 名稱空間和作用域Python