1 #include <iostream> 2 using namespace std; 3 4 //ref 在模板中变量转化为引用 5 //move 左值引用转化为右值引用 6 //副本,不能改变数据 7 template<class T> 8 void print1(T t) 9 { 10 t += 1; 11 cout << t << endl; 12 } 13 //左值引用,能改变数据 14 template<class T> 15 void print2(T &t) 16 { 17 t += 1; 18 cout << t << endl; 19 } 20 //右值引用可以改变数据 21 template<class T> 22 void print3(T &&t) 23 { 24 t += 100; 25 cout << t << endl; 26 } 27 28 void main() 29 { 30 int data = 100; 31 int &ldata(data); 32 int &&rdata(data + 1); 33 print3(rdata); 34 cout << rdata << endl; 35 cin.get(); 36 }