Visual Studio C++ 2010 ではbasic_string::append (iter, iter)
、明らかに、std::copy
.
最初の質問:
std::copy
ここで、より効率的なブロック単位のコピーを提供するために、最適化された反復子型のオーバーロードと共に、独自の反復子型を実装するとします。basic_string::append
オーバーロード以外にも、この最適化を利用する方法はありますappend
か?
basic_string::append (iter, iter)
文字ごとのコピーを行わない可能性はありますか?
2 番目の質問 (私自身の実装の出発点として):
以下は有効であることが保証されていますか?
std::string t ("JohnB");
std::string s;
s.reserve (10);
std::copy (t.begin (), t.end (), s.begin ());
s.push_back ('\0');
または私はより良いを使用する必要がありback_inserter
ますか?--を使用する場合、back_inserter
文字単位のコピーを回避するにはどうすればよいですか?