溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

深談auto變量

發(fā)布時間:2020-07-28 03:44:17 來源:網(wǎng)絡(luò) 閱讀:382 作者:lzwxx 欄目:網(wǎng)絡(luò)安全

1.c++中有一個關(guān)鍵字auto,c語言也有這么一個關(guān)鍵字,但是兩者的意義大不相同。

2.c++中用auto定義的變量自動匹配賦值號右邊的值的類型,具有自動匹配類型的作用,而c語言中auto只是聲明一個變量為自動類型,說明這個變量的代碼塊生存期和分配在棧上,并且不能用來定義變量。

3.c++中auto可以起到泛型的作用,你不管給我傳什么類型,我都可以識別,而且按類型使用這個變量。

4.下面看cpp測試代碼

深談auto變量

 1 #include <iostream> 2  3 using namespace std; 4  5 /* 6 自動變量:自動匹配類型 7 auto  num = pc;通用傳入接口 8 decltype (num) anum;/通用備份接口 9 */10 11 void main()12 {13 14     auto a = 10;//將a解析為整數(shù)變量15     auto b = 10.1;//將b解析為浮點數(shù)變量16 17     int array[10];18     int i = 0;19     for (auto arr : array)//增強for循環(huán)20     {21         arr = i++;22         cout << arr << endl;23     }24 25     cout << "a = " << a<<endl;//a = 1026     cout << "b = " << b<<endl;//b = 10.127 28     double c = 11.9;29     double *pc = &c;30     auto  num = pc;//自動讓num匹配pc類型,31     cout << typeid(num).name() << endl;//typeid為一個結(jié)構(gòu)體,這個結(jié)構(gòu)體關(guān)于num,然后求其信息name,結(jié)果為double *32     cout << typeid(c).name() << endl;//使用typeid(變量名).name()可以獲取變量的類型信息33     cout << typeid(pc).name() << endl;34     //typeid(num).name() d; 這種做法不允許,應(yīng)使用下面的做法35     decltype (num) anum;//獲取變量num的類型然后用這種類型定義一個變量anum36     anum = &b;37 38     cout << *anum << endl;39     system("pause");40 41 }

深談auto變量

5.再來看看運行結(jié)果

深談auto變量


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI