關於string和wstring的實現

2021-05-24 13:54:21 字數 315 閱讀 9632

印象中早期的wstring和string的實現都是基於引用計數然後再加copy-on-write的。

基於引用計數和copy-on-write的實現不是執行緒安全的,不建議用在多執行緒環境中。這一思維

由於工作的關係,我看了vs2005平台下的string和wstring的實現,發現這兩個實現

不是基於引用計數的。每次string拷貝的時候,都新申請了記憶體並用了memcpy來複製

字串。由此可以知道vs 2005版本的實現不是基於引用計數的。

因此,在多執行緒環境裡共享wstring是不會發生問題的。 (當然不包括乙個執行緒讀,乙個執行緒寫的情況)

關於String和inputStream的轉換zz

nputstream提供的是位元組流的讀取,而非文字讀取,用reader讀取出來的是char陣列或者string 使用inputstream讀取出來的是byte陣列。reader類及其子類提供的字元流的讀取char,inputstream及其子類提供位元組流的讀取byte,所以 filereader...

關於 String 型別介紹

表示可變長的字串行,使用string型別前必須首先包含string標頭檔案 string a1 預設初始化 string a2 a1 a2是a1的副本 string a3 a1 等價於a3 a1 a3是a1的副本 string a4 hello world a4是字面值 hello world 的副...

關於String的問題

string是在 中非常常見的一種資料型別.它能直接像基本型別一樣直接賦值 string str test 也能像引用型別一樣建立乙個例項 string str new string test 當然毫無疑問string是引用型別.1 sring str test 此種方式會在字串常量池中建立乙個 t...