动机:
我有一个功能
func(const string& s);
{
//...
}
当然,这行不通:
func("hello" + " " + "world");
这解决了这个问题:
func(string&& s);
有没有一种写func的方法,使其可以自动与r值引用和l值引用一起使用?
最佳答案
Rvalues可以毫无问题地绑定到const lvalue refs。您的代码的问题在于类型。要使用重载的operator +,您至少需要一个std::string
。
func(std::string("hello") + " " + "world");
关于c++ - 有没有一种方法可以编写将l-val ref或r-val引用作为输入参数的函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8014241/