struct TestConstRef {
std::string str;
Test(const std::string& mStr) : str{mStr} { }
};
struct TestMove {
std::string str;
Test(std::string mStr) : str{std::move(mStr)} { }
};
GoingNative 2013 を見た後、シンク引数は常に値で渡し、 で移動する必要があることを理解しましたstd::move
。TestMove::ctor
このイディオムを適用する正しい方法はありますか? TestConstRef::ctor
より良い/より効率的なケースはありますか?
些細なセッターはどうですか?次のイディオムを使用するか、a を渡す必要がありconst std::string&
ますか?
struct TestSetter {
std::string str;
void setStr(std::string mStr) { str = std::move(str); }
};