4

私はC++プログラムで巨大な(最大2GBの)文字列とそのスライスを扱っています。Cスタイルの文字列は、このような状況では信頼できないように見えますが、簡単にスライスできます(最後に「\ 0」がない場合)。一方、私が理解したように、std :: string :: substrはスライスをコピーするため、メモリ使用量を合理的に保つために、インデックスごとに少なくとも1つの追加の追加操作(インデックス+ベース)を実行する必要があります。

4

1 に答える 1

8

最も一般的な解決策は、必要なインターフェイスを備えたスライス オブジェクトを作成し、それを使用することです。スライス オブジェクトは、開始と終了の 2 つのイテレータで構成できます。

于 2012-05-09T09:51:08.550 に答える