相关疑难解决方法(0)

为什么rvalues引用的变量不是rvalue?

假设我有一个函数的两个重载f.f(T&&)f(T&).然后在身体g: g(T&& t) { f(t);}过载f(T&)将调用因为t被认为是左值.

这对我来说非常令人惊讶.带签名的函数如何f(T&&)与类型的调用不匹配T&&?让我更加惊讶的是,一个电话f(static_cast<T&&>(t))实际上会调用rvalue超载f(T&&).

使这成为可能的C++规则是什么?是T&&不是类型吗?

c++ rvalue rvalue-reference

11
推荐指数
3
解决办法
1286
查看次数

标签 统计

c++ ×1

rvalue ×1

rvalue-reference ×1