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 }