完全な転送は、通常、テンプレートクラスのコンテキストで表示されます。非テンプレートクラスの場合、例えば、それは完璧な転送を使用できるようにコンストラクタのテンプレートメソッド?テンプレート以外のクラスのメソッドの完璧な転送
class Foo()
{
public:
template<typename T>
Foo(T &&vec) : memberVec(std::forward<T>(vec)) {};
private:
std::vector memberVec;
};
利点は基本的に同じですが、実際のクラスタイプを知っていれば何か違いはありますか?これはいつ良い練習になりますか?
ベクターのコピーが安価であることをどのように知っていますか?ベクトルには数千のXが含まれていました。 – Vincent
@vincが修正されました。申し訳ありませんが、コピー/入力ミス。 – Yakk