string系列 StringBuilder實現

2021-07-04 05:50:27 字數 408 閱讀 2285

借助c#原始碼中stringbuilder的的實現,在c++中實現乙個stringbuilder類。非常簡單,關鍵在實現字串的連線上,直接上**:

stringbuilder關鍵的實現在於解決多次字串操作後的記憶體碎片問題,下面的**只是乙個玩具,記憶體增長方式可以自定義,這裡我使用的是二倍增長,你也可以4倍增長。

class

stringbuilder

stringbuilder(int capacity)

if (strlen(s) + strlen(str) > count)

else

return* this;

}private:

char* str;

size_t count;

};

string系列操作1

delphi string char陣列和pchar string 分兩種,內可包含 0。shortstring 最長256位元組 ansistring 最長256的4次方 string pchar 只是講string中字串的位址複製給了pchar。pchar和char陣列,佔記憶體少,速度快,效率...

string系列操作1

delphi string char陣列和pchar string 分兩種,內可包含 0。shortstring 最長256位元組 ansistring 最長256的4次方 string pchar 只是講string中字串的位址複製給了pchar。pchar和char陣列,佔記憶體少,速度快,效率...

String系列 空間配置器

前言 原文本來是想為string實現乙個空間配置器的,當我著手寫的時候發現,這是乙個幼稚的想法,空間配置器在於自己來配置空間,原本的意思也只是學習一下空間配置器的原理,理解了空間配置器的作用就行了。所以,下面我主要講述空間配置器的原始碼 template inline t allocate ptrd...