std::string
こんにちは私は、クライアントによって提供されたバッファで動作できる機能を備えた文字列クラス(のような)を実行するという私のアイデアについて一般の人々に投票したいと思いました。
あなたが予見する危険は何ですか?古典的な匂いですか?etcaetera
私はそう意味します:
char ext[64] = {0};
my::string s(ext, my::string::acquire_RW);
size_t len = s.size();
size_t pos = s.find("zboub");
my::string s2(s); // uses true (alloc+)copy semantic here.
だから私は2つの戦略を予見します:acquire_RW
そしてacquire_RO
それは文字の変更を許可するext
かどうかです。また、RO
非constメソッドのRW
場合、およびバッファを拡張する必要があるメソッドの場合。現時点でのみ割り当ててコピーします。
ある意味で、my::string
タイプはタイプのデコレータになりchar*
ます。
もちろん、デコレータがクライアントの要件として残される前に、外部バッファを解放しないように注意してください。
あなたの懸念を共有してくれてありがとう