Bil*_*eal 8 c++ move-semantics c++11
我有一个看起来像这样的API:
void WriteDefaultFileOutput(std::wostream &str, std::wstring target)
{
//Some code that modifies target before printing it and such...
}
Run Code Online (Sandbox Code Playgroud)
我想知道通过这样做启用移动语义是否合理:
void WriteDefaultFileOutput(std::wostream &str, std::wstring&& target)
{
//As above
}
void WriteDefaultFileOutput(std::wostream &str, std::wstring const& target)
{
std::wstring tmp(target);
WriteDefaultFileOutput(str, std::move(tmp));
}
Run Code Online (Sandbox Code Playgroud)
或者这只是编译器应该能够弄清楚的样板?