gpt4 book ai didi

c++ - 为什么按值传递和按右值传递重载 C++ 函数调用不明确?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:33:29 27 4
gpt4 key购买 nike

如果我有,

void foo(Bar c);
void foo(Bar&& c);

foo(Bar());

为什么对“foo”的调用不明确?foo 参数中的 Bar() 显然不是一个 rValue 吗?

最佳答案

绑定(bind)到引用是“精确匹配”,绑定(bind)到非引用也是如此,因此两种重载都同样好。

在标准语中,这是 13.3.3.1.4(“引用绑定(bind)”,[over.ics.ref]):

When a parameter of reference type binds directly (8.5.3) to an argument expression, the implicit conversion sequence is the identity conversion [...]

关于c++ - 为什么按值传递和按右值传递重载 C++ 函数调用不明确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36696312/

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