C++中auto和decltype的区别和功能
一、auto
划重点:
1、auto是推导不出来顶层const的(顶层const就是保证自己内存地址里面存放的值不会变,底层const保证的是所指向的值,值本身不会变)
2、想要auto推导出来的类型是一个引用,通过下面方式(a是变量名)
auto &a;
int a=3;
int &b=a;
auto c=b;
c=5;
cout << a << c;
//输出 3 5,可见推导出来的c变量是一个int变量,而不是引用
推导出来类型是指针的话,那么在变量定义的时候
auto a=&b;
auto *a;
二、decltype