独自の文字反復子クラスを定義しました。std::string のようなインターフェイスを再度実装する必要がないように、どうにかして std::string にプラグインできますか? std::basic_string のテンプレート引数を確認しましたが、このようなものは何も取りません。
質問する
102 次
2 に答える
1
1つのアイデアは、イテレータを返す関数begin(std::string)
を提供することです。end(std::string)
これらは、イテレータが必要なすべての場所で使用できます。
begin()
無料の関数スタイルはc++11以降です。
于 2012-12-03T10:35:39.470 に答える
0
反復子のペアを取る std::string のオーバーロードされたコンストラクターがあります。それは機能しますが、コピーを作成します。もちろん、それはあなたができる最善のことです。「小さな文字列の最適化」、つまりオブジェクト自体char[N]
の内部に小さなものがある実装を考えてみましょう。std::string
これは、メモリ レイアウトと互換性がない可能性が非常に高いです。
于 2012-12-03T10:57:11.083 に答える