C 11特性(01)auto關鍵字

2021-07-03 06:51:06 字數 1155 閱讀 7523

在c++11之前的版本中,其實也有auto關鍵字(這個關鍵字其實是為了相容c語言中的auto自動變數),所以在c語言中也可以使用auto關鍵字,只是此時的auto的意思就不是c++11中的特性:自動型別。

如:

auto ai = 33;         //ai型別為int

auto ad = 3.221; //ad型別為double

auto str = "hello world"; //str型別為const char *

std::cout << "ai = " << ai << " ad = " << ad << " str = " << str << std::endl;

這個在cocos3.x版本中使用最多,方便我們使用者去進行型別的書寫,**量也相應減少。

這個特性我們在編寫mfc程式的時候也可以使用:如

// 修改此**以繪製文件資料

dc.fillsolidrect(lprcbounds, rgb(255, 255, 255));

auto strtext = _t("todo: implement thumbnail drawing here"); //strtext型別為cstring

logfont lf;

auto pdefaultguifont = cfont::fromhandle((hfont) getstockobject(default_gui_font)); //pdefaultguifont的型別為cfont

pdefaultguifont->getlogfont(&lf);

lf.lfheight = 36;

auto fontdraw;

fontdraw.createfontindirect(&lf);

auto poldfont = dc.selectobject(&fontdraw);

dc.drawtext(strtext, lprcbounds, dt_center | dt_wordbreak);

dc.selectobject(poldfont);

這樣的話,極大的方便了我們去編寫程式,並且也不用以前的的從派生類到基類的轉換等等。

C 11特性 auto關鍵字

正文 本文的內容已經不新鮮了。關於auto,翻來覆去被人知道的都是這些東西,本文並沒有提出新穎的auto用法。本人原是痛恨部落格一篇篇都是copy而來缺乏新意的探索,當然,本文不是copy而來,但發布這樣一篇大家皆知的文章心裡甚是惶恐。本文對auto的內容加以整理,權當是自己的複習筆記了。回到頂部 ...

C 11特性 auto關鍵字

本文的內容已經不新鮮了。關於auto,翻來覆去被人知道的都是這些東西,本文並沒有提出新穎的auto用法。本人原是痛恨部落格一篇篇都是copy而來缺乏新意的探索,當然,本文不是copy而來,但發布這樣一篇大家皆知的文章心裡甚是惶恐。本文對auto的內容加以整理,權當是自己的複習筆記了。早在c 98標準...

C 11新特性 auto關鍵字

熟悉指令碼語言的人都知道,很多指令碼語言都引入了 型別自動推斷 技術 比如python,可以直接宣告變數,在執行時進行型別檢查。隨著c 11標準的發布,c 語言也引入了型別自動推斷的功能,這就是我們今天要介紹的auto關鍵字。c 是一種強型別語言,宣告變數時必須明確指出其型別。但是,在實踐中,優勢我...