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

 

原文地址:https://www.cnblogs.com/kongbursi-2292702937/p/15049187.html