這篇文章主要介紹“怎么理解C++11的返回類型后置”,在日常操作中,相信很多人在怎么理解C++11的返回類型后置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么理解C++11的返回類型后置”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的鳳翔網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
返回類型后置
除了構(gòu)造函數(shù)和析構(gòu)函數(shù)以外,函數(shù)聲明都需要明確函數(shù)的返回類型,在傳統(tǒng)的C或者C++中,函數(shù)聲明大致是這個樣子:
int getSum(int a, int b);
第一個int就是函數(shù)的返回類型,它表明函數(shù)的返回值類型為整數(shù)。在新的C++11以后,我們也可以這樣聲明:
auto getSum(int a, int b)->int;
在原來放返回值類型的位置寫auto,在函數(shù)聲明結(jié)束以后接一個'->'再跟著寫函數(shù)的返回值類型。兩種方式的效果是一樣的。
返回數(shù)組指針
一般情況下,當(dāng)函數(shù)要返回多個數(shù)據(jù)時,會選擇將數(shù)據(jù)封裝在類(或結(jié)構(gòu)體)中返回,或者直接返回一個指針。
這兩種方式要么麻煩,要么沒有辦法取得數(shù)據(jù)的數(shù)量。其實我們真正的需求就是返回一個數(shù)組(可以計算維度的)指針。這種方法是存在的:
int (*getResultArray(int mode))[10];
通過上面的形式,聲明了一個返回包含10個整數(shù)的數(shù)組的指針。對于這樣一個指針,我們可以像數(shù)組一樣使用:
auto arr = getResultArray(1);
cout << sizeof(*arr)/sizeof(**arr) << endl; //可以正確計算維度。
當(dāng)然, 有經(jīng)驗的程序員會這么做:
typedef int arr10[10];
arr10* getResultArray(int mode)
C++11增加了返回類型后置以后,我們有了新的選擇:
auto getResultArray(int mode)->int(*)[10];
比第一種形式容易理解很多。也不需要自定義類型。
到此,關(guān)于“怎么理解C++11的返回類型后置”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)頁題目:怎么理解C++11的返回類型后置
文章地址:http://weahome.cn/article/ppogde.html