在下面的示例中,根据this article保证NRVO(命名返回值优化)]
std::string f() { std::string str; return str; // NVRO is guaranteed here! }
但是,请考虑:
task<std::string> f()
{
std::string str;
co_return str; // Is NVRO also guaranteed here?
}
在下面的示例中,根据本文保证NRVO(命名返回值优化):std :: string f(){std :: string str; return str; //这里保证NVRO! }但是,...
我知道自C ++ 17起,NRVO(命名返回值优化)是必需的。