テキストファイルを読み込んで、std::stringに格納する効率良い方法はないですか?

ifstreamでファイルを開いて、read関数でchar*型のバッファにコピーして、
char*型のバッファをstringのコンストラクタに渡す方法でとりあえず書きましたが、
ifstream→char*型のバッファ→stringと2回コピーが発生して効率悪そうです。