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

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

通過(guò)引用傳遞數(shù)組

通過(guò)引用傳遞數(shù)組

C++
開(kāi)滿(mǎn)天機(jī) 2019-08-06 14:10:32
通過(guò)引用傳遞數(shù)組如何通過(guò)引用傳遞靜態(tài)分配的數(shù)組?void foo(int (&myArray)[100]){}int main(){     int a[100];     foo(a);}是否(&myArray)[100]有任何意義或只是通過(guò)引用傳遞任何數(shù)組的語(yǔ)法?我不明白單獨(dú)的括號(hào)后跟大括號(hào)。謝謝。
查看完整描述

3 回答

?
catspeake

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

它是數(shù)組引用的語(yǔ)法 - 您需要使用它(&array)來(lái)向編譯器說(shuō)明您希望引用數(shù)組,而不是(無(wú)效)引用數(shù)組int & array[100];

編輯:一些澄清。

void foo(int * x);void foo(int x[100]);void foo(int x[]);

這三種是聲明相同功能的不同方式。它們都被視為接受int *參數(shù),您可以將任何大小的數(shù)組傳遞給它們。

void foo(int (&x)[100]);

這只接受100個(gè)整數(shù)的數(shù)組。您可以放心地使用sizeofx

void foo(int & x[100]); // error

這被解析為“引用數(shù)組” - 這是不合法的。


查看完整回答
反對(duì) 回復(fù) 2019-08-06
?
慕田峪9158850

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

這只是必需的語(yǔ)法:

void Func(int (&myArray)[100])

int通過(guò)引用參數(shù)名稱(chēng)傳遞100 的數(shù)組myArray;

void Func(int* myArray)

^傳遞一個(gè)數(shù)組。數(shù)組衰減為指針。因此,您丟失了大小信息。

void Func(int (*myFunc)(double))

^傳遞函數(shù)指針。該函數(shù)返回一個(gè)int并取一個(gè)double。參數(shù)名稱(chēng)是myFunc。


查看完整回答
反對(duì) 回復(fù) 2019-08-06
?
一只斗牛犬

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

這是一種語(yǔ)法。在函數(shù)參數(shù)int (&myArray)[100]中,括起來(lái)的括號(hào)&myArray是必要的。如果你不使用它們,你將會(huì)傳遞一個(gè)array of references,因?yàn)樗?code>subscript operator []具有更高的優(yōu)先級(jí)& operator。

例如 int &myArray[100] // array of references

因此,通過(guò)使用type construction ()您告訴編譯器您希望引用100個(gè)整數(shù)的數(shù)組。

例如 int (&myArray)[100] // reference of an array of 100 ints


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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