第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

函數(shù)中的返回?cái)?shù)組

函數(shù)中的返回?cái)?shù)組

C++
SMILET 2019-06-28 09:56:14
函數(shù)中的返回?cái)?shù)組我有一個(gè)數(shù)組int arr[5]傳遞給函數(shù)的fillarr(int arr[]):int fillarr(int arr[]){     for(...);     return arr;}如何返回?cái)?shù)組?我將如何使用它,假設(shè)我返回了一個(gè)指針,我將如何訪問(wèn)它?
查看完整描述

3 回答

?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

在這種情況下,數(shù)組變量arr實(shí)際上,也可以通過(guò)隱式轉(zhuǎn)換將數(shù)組塊的開(kāi)始作為指針處理。您使用的這個(gè)語(yǔ)法:

int fillarr(int arr[])

只是句法上的糖。你真的可以用這個(gè)代替它,它仍然有效:

int fillarr(int* arr)

因此,在同樣的意義上,您想從函數(shù)返回的實(shí)際上是指向數(shù)組中第一個(gè)元素的指針:

int* fillarr(int arr[])

您仍然可以像普通數(shù)組一樣使用它:

int main(){
  int y[10];
  int *a = fillarr(y);
  cout << a[0] << endl;}


查看完整回答
反對(duì) 回復(fù) 2019-06-28
?
夢(mèng)里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊

C+函數(shù)不能按值返回C樣式數(shù)組.最接近的事情是返回一個(gè)指針。此外,參數(shù)列表中的數(shù)組類型被簡(jiǎn)單地轉(zhuǎn)換為指針。

int *fillarr( int arr[] ) { // arr "decays" to type int *
    return arr;}

您可以通過(guò)為參數(shù)和返回使用數(shù)組引用來(lái)改進(jìn)它,這可以防止衰變:

int ( &fillarr( int (&arr)[5] ) )[5] { // no decay; argument must be size 5
    return arr;}

對(duì)于Boost或C+11,按引用傳遞只能是可選的,語(yǔ)法也不那么費(fèi)心:

array< int, 5 > &fillarr( array< int, 5 > &arr ) {
    return arr; // "array" being boost::array or std::array}

這個(gè)array模板只生成一個(gè)struct包含一個(gè)C樣式的數(shù)組,這樣您就可以應(yīng)用面向?qū)ο蟮恼Z(yǔ)義,同時(shí)保持?jǐn)?shù)組最初的簡(jiǎn)單性。


查看完整回答
反對(duì) 回復(fù) 2019-06-28
?
揚(yáng)帆大魚(yú)

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

8.3.5/8州-

“函數(shù)不具有類型數(shù)組或函數(shù)的返回類型,盡管它們可能具有類型指針的返回類型或?qū)@類事物的引用。函數(shù)不應(yīng)該有數(shù)組,盡管可以有指向函數(shù)的指針數(shù)組。”

int (&fn1(int (&arr)[5]))[5]{     // declare fn1 as returning refernce to array
   return arr;}int *fn2(int arr[]){              // declare fn2 as returning pointer to array
   return arr;}int main(){
   int buf[5];
   fn1(buf);
   fn2(buf);}


查看完整回答
反對(duì) 回復(fù) 2019-06-28
  • 3 回答
  • 0 關(guān)注
  • 531 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)