#include <iostream>
using namespace std;
template <typename T>
void print(T& lValue)
{
cout << "lValue" << lValue << endl;
}
template <typename T>
void print(T&& rValue)
{
cout << "rValue" << rValue << endl;
}
template <typename T>
void TestRValue(T&& nValue)
{
print(nValue);
print(forward<T>(nValue));
}
int main()
{
int Value = 100;
TestRValue(10);
TestRValue(Value);
system ("pause");
return 0;
}
结果:
lValue10
rValue10
lValue100
lValue100
#include <iostream>
using namespace std;
template <typename T>
void print(T& lValue)
{
cout << "lValue" << lValue << endl;
}
template <typename T>
void print(T&& rValue)
{
cout << "rValue" << rValue << endl;
}
template <typename T>
void TestRValue(T& nValue)
{
print(nValue);
print(forward<T>(nValue));
}
int main()
{
int Value = 100;
TestRValue(Value);
system ("pause");
return 0;
}
结果:
lValue100
rValue100