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++
- c++系列:匿名名稱空間C++
- C++系列: 巢狀名稱空間C++巢狀
- JAXB玩轉名稱空間
- 使用名稱空間:基礎
- 名稱空間
- JAXB名稱空間及名稱空間字首處理
- C++基礎:什麼是名稱空間C++
- PHP 名稱空間PHP
- PHP名稱空間PHP
- vuex名稱空間Vue
- jQuery 名稱空間jQuery
- JavaScript 名稱空間JavaScript
- PHP名稱空間(Namespace)的使用詳解PHPnamespace
- C++ 中名稱空間的 5 個常見用法C++
- JavaScript 中的名稱空間JavaScript
- Python 的名稱空間Python
- php名稱空間namespace使用筆記PHPnamespace筆記
- C++名稱空間與友元函式薦C++函式
- python名稱空間Python
- 更改模型名稱空間模型
- 全域性名稱空間
- Python 名稱空間Python
- Objective-C 的名稱空間Object
- C++ 動態記憶體分配與名稱空間C++記憶體
- PHP 核心特性 - 名稱空間PHP
- Spring名稱空間解析Spring
- ros節點名稱空間ROS
- PHP名稱空間概念解析PHP
- System.Web 名稱空間Web
- Python中名稱空間是什麼?名稱空間生命週期是多久?Python
- 修改oracle使用者名稱,表空間名字,Oracle
- php名稱空間的呼叫順序PHP
- spring框架中的名稱空間Spring框架
- jquery的事件名稱空間詳解jQuery事件
- c# MySqlConnection的名稱空間C#MySql
- 一篇弄懂PHP名稱空間及use的使用PHP