gpt4 book ai didi

c++ - 有没有办法编写一个将 l-val ref 或 r-val reference 作为输入参数的函数?

转载 作者:行者123 更新时间:2023-11-27 23:27:54 25 4
gpt4 key购买 nike

动机:

我有一个函数

func(const string& s);
{
//...
}

当然这行不通:

func("hello" + " " + "world");

这解决了这个问题:

func(string&& s);

有没有一种方法可以编写 func,使其自动与右值引用和左值引用一起工作?

最佳答案

右值毫无问题地绑定(bind)到常量左值引用。您的代码的问题在于类型。您至少需要一个 std::string 才能使用重载的 operator+。

func(std::string("hello") + " " + "world");

关于c++ - 有没有办法编写一个将 l-val ref 或 r-val reference 作为输入参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8014241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com