r.v*_*r.v 6 c++ rvalue lvalue c++11
我试图理解左值如何绑定到右值引用.考虑以下代码:
#include <iostream>
template<typename T>
void f(T&& x) {
std::cout << x;
}
void g(int&& x) {
std::cout << x;
}
int main() {
int x = 4;
f(x);
g(x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
虽然对f()的调用很好,但是对g()的调用会产生编译时错误.这种绑定是否仅适用于模板?为什么?没有模板,我们能以某种方式做到吗?
| 归档时间: |
|
| 查看次数: |
1034 次 |
| 最近记录: |