關於C/C++中的“auto”關鍵字


C/C++ 98標准 C++03標准

  早在C++98標准中就存在了auto關鍵字,那時的auto用於聲明變量為自動變量,自動變量意為擁有自動的生命期。此用法是多余的,因為即使定義變量時不加"auto",變量也會有自動的生命期。用法如下:

auto int b = 20 ; //擁有自動生命期
int a =10 ;  //同樣擁有自動生命期

  在C++11中,已經刪除了此用法。

C++11標准 

  C++11引入auto類型說明符,用它能實現讓編譯器替我們分析表達式所屬的類型。auto讓編譯器通過初始值來推算變量的類型。顯然,auto定義的變量必須有初始值。

  比如,auto Sum =a1+a2;若a1、a2是float類型,則Sum的類型就是float;若a1、a2是某個類的對象,則Sum也為該類的對象;

  使用auto也能在一條語句聲明多個變量,但是基本數據類型必須相同,如:

auto i=0,*p=&i;             //正確,i是整數,p是整形指針
auto sz=0,pi=3.14;      //錯誤,sz和pi類型不一致

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM