using std string的使用和意義

2021-08-26 12:21:11 字數 1031 閱讀 9335

using std::string的使用和意義

使用std命名空間

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 "

cout<<"4 found "<<*it1

}輸出結果為:4 found 4.

container of 的的的原理

另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...

存在的就是合理的,發生的即是必然的。

筆者有時候會想,什麼是對,什麼是錯?對於追求某一件事情之前首先會考慮,為什麼我要做這件事情。所以經過自我分析和生活周邊環境的總結。我認為,對於乙個人來,這是在站在個體的角度上說。什麼是對的?就是你自己覺得是對的,它就是對的。不過這個只是你自己的想法。主觀上的正確,不代表客觀上也受到了別人的認可。就拿...

Apache的rewrite的重寫相關的引數

apache mod rewrite規則重寫的標誌一覽 使用mod rewrite時常用的伺服器變數 rewriterule規則表示式的說明 匹配任何單字元 chars 匹配字串 chars chars 不匹配字串 chars text1 text2 可選擇的字串 text1或text2 匹配0到1...