c++語言提供乙個全域性的命名空間namespace,可以避免導致全域性命名衝突問題。舉乙個例項,請注意以下兩個標頭檔案:
// one.h
char func(char);
class string ; // somelib.h
class string ;
如果按照上述方式定義,那麼這兩個標頭檔案不可能包含在同乙個程式中,因為string類會發生衝突。
所謂命名空間,是一種將程式庫名稱封裝起來的方法,它就像在各個程式庫中立起一道道圍牆。比如:
// one.h
namespace one
;} // somelib.h
namespace somelib;}
現在就算在同乙個程式中使用string類也不會發生衝突了,因為他們分別變成了:one::string()以及somelib::string()
這樣,就可以通過宣告命名空間來區分不同的類或函式等了。
比如c++
標準庫定義了命名空間:std,其中包含容器vector,示例如下:
#include "stdafx.h"
#include
#include
#include
using namespace std; int main(int argc, char* argv)
;file://定義容器vector
vectorivect(ia,ia+arraysize);
vector::iterator it1 = find(ivect.begin (),ivect.end (),4);
if(it1 == ivect.end ())
cout<<"4 not found "}
C 命名空間的使用
c 語言提供乙個全域性的命名空間namespace,可以避免導致全域性命名衝突問題。舉乙個例項,請注意以下兩個標頭檔案 one.h char func char class string somelib.h class string 如果按照上述方式定義,那麼這兩個標頭檔案不可能包含在同乙個程式中,...
C 命名空間的使用
namespace的應用 不同的命名空間可以包含相同的變數名 函式名,當使用某個標頭檔案下的某變數 函式時,需要指定其所在的命名空間。格式 name var fun name 如果頻繁使用此變數 函式,可以加上語句using namespace name 則引用 呼叫時,前面不需要再加上命名空間名了...
C 的命名空間的使用
c 命名空間的定義 namespace name c 命名空間的使用 使用整個命名空間 using namespace name 使用命名空間中的變數 using name variable 使用預設命名空間中的變數 variable 預設情況下可以直接使用默 認命名空間中的所有識別符號 注意 在c...