《C++ Primer》学习 之 编译器推断auto类型


/*
《C++ Primer》学习 之 编译器推断auto类型
书P61-P62
重点在于程序中的注释,方便以后复习。
*/
 1 #include <iostream>
 2 #include <cmath>
 3 #include <string>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int i = 0, &r = i;
 9     auto a = r;  // a : int
10 
11     const int ci = i, &cr = ci; 
12     auto b = ci; // b : int
13     auto c = cr; // c : int
14     auto d = &i; // d : int * 
15     auto e = &ci; // e : const int *
16     auto &g = ci; // g : const int &
17 
18     const int i2 = 42;
19     auto j = i2; // j : int
20     const auto &k = i2; // k : const int &
21     auto *p = &i2; // p : const int *
22     const auto j2 = i2; // j2 : const int 
23     const auto &k2 = i2; // k2 : const int &
24     auto &k3 = i2; // k3 : const int &
25 
26 
27     cout << "a : " << typeid(a).name() << endl;
28     cout << "b : " << typeid(b).name() << endl;
29     cout << "c : " << typeid(c).name() << endl;
30     cout << "d : " << typeid(d).name() << endl;
31     cout << "e : " << typeid(e).name() << endl;
32     cout << "g : " << typeid(g).name() << endl;
33 
34 
35     cout << "i2 : " << typeid(i2).name() << endl;
36     cout << "j : " << typeid(j).name() << endl;
37     cout << "k : " << typeid(k).name() << endl;
38     cout << "p : " << typeid(p).name() << endl;
39     cout << "j2 : " << typeid(j2).name() << endl;
40     cout << "k2 : " << typeid(k2).name() << endl;
41     cout << "k3 : " << typeid(k3).name() << endl;
42 
43     return 0;
44 }

 
原文地址:https://www.cnblogs.com/shijianming/p/5014955.html