1.c++中有一個關鍵字auto,c語言也有這么一個關鍵字,但是兩者的意義大不相同。
2.c++中用auto定義的變量自動匹配賦值號右邊的值的類型,具有自動匹配類型的作用,而c語言中auto只是聲明一個變量為自動類型,說明這個變量的代碼塊生存期和分配在棧上,并且不能用來定義變量。
3.c++中auto可以起到泛型的作用,你不管給我傳什么類型,我都可以識別,而且按類型使用這個變量。
4.下面看cpp測試代碼
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解析為整數變量15 auto b = 10.1;//將b解析為浮點數變量16 17 int array[10];18 int i = 0;19 for (auto arr : array)//增強for循環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為一個結構體,這個結構體關于num,然后求其信息name,結果為double *32 cout << typeid(c).name() << endl;//使用typeid(變量名).name()可以獲取變量的類型信息33 cout << typeid(pc).name() << endl;34 //typeid(num).name() d; 這種做法不允許,應使用下面的做法35 decltype (num) anum;//獲取變量num的類型然后用這種類型定義一個變量anum36 anum = &b;37 38 cout << *anum << endl;39 system("pause");40 41 }
5.再來看看運行結果
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。