gpt4 book ai didi

c++ - 通过引用传递 vector 内联

转载 作者:行者123 更新时间:2023-12-01 14:20:08 25 4
gpt4 key购买 nike

我试图通过引用传递一个 vector ,它在函数内部被修改(比方说,类似于排序 vector )

void dummy(vector<int> &v) { sort(v.begin(), v.end()); }

以上内容仅在像这样创建 vector 并传递引用时有效,这是预期的。

int main() {
vector<int> v = {1, 2, 3};
dummy(v);
}

我想弄清楚,是否有这样做的内联方式?通常,如果 vector 没有被修改,我们可以做这样的事情——

int main() {
dummy({1,2,3})
}

但是,当 vector 被修改时,它会抛出一个编译错误说 - 无法将类型 'std::vector&' 的非 const 左值引用绑定(bind)到类型 'std::vector。那么,有没有办法内联发送 vector 的引用?

最佳答案

在这种情况下,您应该为右值引用编写重载,即:

void dummy(vector<int>&&);

这将与传递给函数的临时对象一起使用。

关于c++ - 通过引用传递 vector 内联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62750288/

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