C/C++教程

C++基础-auto(自动分配属性)和decltype(指定分配属性)

本文主要是介绍C++基础-auto(自动分配属性)和decltype(指定分配属性),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.atuo 自动分配属性,但是不能区分常量, decltype可以区分常量

const vector<int> myint{1, 2, 3, 4, 5};
auto inta = myint[0];
inta = 20;

decltype(myint[0]) intd = 1;
intd = 2; //报错,因为此时的intd是常量属性

2.auto不能区分引用,decltype可以区分引用

double db = 10.9;
double &rdb(db);
auto dbx = rdb; //如果能区别
dbx = 8.9;
cout << db << endl;  //10.9 
cout << dbx << endl; //8.9 

    decltype(rdb) dbx1 = rdb;
    dbx1 = 8.9;
    cout << db << endl; //8.9 
    cout << dbx1 << endl; //8.9 

 

这篇关于C++基础-auto(自动分配属性)和decltype(指定分配属性)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!