[C++11]自动类型推导auto
生活随笔
收集整理的這篇文章主要介紹了
[C++11]自动类型推导auto
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.auto
C++11中,auto并不代表一種實際的數據類型,只是一個類型聲明的"占位符",auto并不是萬能的在任意場景下都能夠推導出變量的實際類型,使用auto聲明的變量必須要進行初始化,以讓編譯器推導出它的實際類型,在編譯時將auto占位符替換成真正的類型。
語法:
auto 變量名 = 變量值;代碼如下:
#include <iostream> using namespace std;int main() {auto x = 3.14;// doubleauto y = 520;// intauto z = 'a';// charauto nb;// errorauto double nb1;// 語法錯誤,不能修改數據類型 }1.當變量不是指針或者引用類型時,推導的結果中不會保留const,volatile關鍵字。
2.當變量是指針或者引用類型時,推導的結果中會保留const,volatile關鍵字。
代碼如下:
#include <iostream> using namespace std;int main() {int tmp = 110;auto *a = &tmp;//auto -> intauto b = &tmp;//auto -> int*auto &c = tmp;//auto -> intauto d = tmp;// auto ->int//有const修飾int tmp1 = 250;const auto a1 = tmp;// auto -> intauto a2 = a1;/* auto -> int 當變量不是指針或者引用類型時,推導的結果中不會保留const,volatile關鍵字。*/const auto & a3 = tmp;//const已經寫出來了,就要保留下來,auto -> intauto & a4 = a3;/*a3 -> const int & auto -> const int 當變量是指針或者引用類型時,推導的結果中會保留const,volatile關鍵字。*/auto * pt4 = &a1;//pt4 -> const int * auto ->const int return 0;}總結
以上是生活随笔為你收集整理的[C++11]自动类型推导auto的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [C++11]不允许使用auto的四个场
- 下一篇: 火龙果酒的功效与作用、禁忌和食用方法