为什么您可以将rvalue传递给需要引用的函数?
在尝试之前,我认为在调用函数之前需要创建一个字符串变量。
与创建参考文献所需的步骤相似。
void func(const std::string& x)
{
std::cout << x << std::endl;
}
int main()
{
std::string& x = "Test"; //fails to compile
func("Test"); //works
return 0;
}
在尝试之前,我认为在调用函数之前需要创建一个字符串变量。
std::string tmp = "Test";
func(tmp);
与创建参考文献所需的步骤相似。
std::string tmp = "Test";
std::string& x = tmp;
std::string&
和const std::string&
不是同一件事情。 - songyuanyao