In this simple example r-value ref is preferred.
int f(const std::string& str)
{
return 1;
}
int f(std::string&& str)
{
return 2;
}
int main()
{
std::cout << f("Hello!") << std::endl;
}
My c++11 gut tells me I'd go for the const ref version.
Is there a compelling reason why the r-value ref version is preferred?
I thought we liked the constness of the first version.