中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

C++引用符&和指針*在函數(shù)中的使用方法和區(qū)別-創(chuàng)新互聯(lián)

明確幾個(gè)問題:函數(shù)只可以返回一個(gè)參數(shù);值傳遞的過程若不用一些特殊符號(hào)如static,其生存周期是在函數(shù)的局部范圍內(nèi),即用完函數(shù)就消失

為崇明等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及崇明網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、崇明網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

我們都知道在函數(shù)調(diào)用過程中存在著參數(shù)傳遞的問題。在值傳遞的過程中,我們只是簡(jiǎn)單的把數(shù)值傳遞給了參數(shù),這個(gè)過程大家可以理解成數(shù)學(xué)運(yùn)算中的=,若a=2,b=a,那么b的值的改變肯定是不會(huì)影響a的值,這帶來(lái)了一些問題,比如我們?nèi)绻胍诤瘮?shù)中交換a和b的值,那么a和b的值只在函數(shù)內(nèi)做了局部交換,以簡(jiǎn)單的思考方式:我們將a的值給了a1,a1=a,將b的值給了b1,b1=b,在函數(shù)內(nèi)操作,就是改變a1和b1的值,那么與a和b有關(guān)系嗎,答案是肯定沒有的,那怎么能夠讓a和b扯上關(guān)系呢,這里有兩種方法,一種是利用&引用符,注意這個(gè)是引用符號(hào),不是C語(yǔ)言里的取地址,另一種就是采用指針。


采用引用符&

關(guān)于引用符,我理解的是,MAC-10有一個(gè)名字叫MAC-10,當(dāng)然我們還可以給他起一個(gè)綽號(hào)叫吹風(fēng)機(jī),那么在RUSHB的時(shí)候,我們可以叫隊(duì)友給我們發(fā)一把MAC-10,當(dāng)然還可以讓他給我們發(fā)一把吹風(fēng)機(jī),他都會(huì)理解,這個(gè)引用符也是如此,a=2,那么我們給他取一個(gè)別名 c,讓&c=a,這樣我們?cè)谑褂胏的時(shí)候,a的值也就會(huì)跟著變化啦(注意這個(gè)操作應(yīng)該在函數(shù)傳遞或者是定義的時(shí)候使用)

#includeint main()
{
	int a = 2;
	int& c = a;
	c = 1;
	std::cout<< c<<" "<< a;//結(jié)果是1 1
	//int a=2,c;
	//&c=a;這種方法是錯(cuò)誤的,應(yīng)該在c定義時(shí)就讓&c=a
}

寫交換函數(shù)時(shí),

#includevoid swap(int& x, int& y)
{
	int t;
	t = x;
	x = y;
	y = t;
	return;
}
int main()
{
	int a, b;
	std::cin >>a >>b;
	std::cout<< "the value "<< a<< "and"<< b<< std::endl;
	swap(a, b);
	std::cout<< "the value "<< a<< "and"<< b<< std::endl;
}
//2 3
//the value 2and3
//the value 3and2

指針作為函數(shù)參數(shù)

使用指針具體來(lái)說之前我們都是直接的傳入a和b的值進(jìn)而來(lái)解決問題,利用指針就是“曲線救國(guó)”,把a(bǔ)和b的地址作為函數(shù)參數(shù)傳進(jìn)去,因?yàn)槊總€(gè)變量的地址在我們的代碼里面是唯一的,因此我們可以從地址找到變量,進(jìn)而改變他們的值。代碼如下:


關(guān)于什么時(shí)候用&和指針或者值傳遞

說說我自己的理解,因?yàn)樵诤瘮?shù)傳參的過程中,&方式我們可以理解為直接將它本身丟過去,并不會(huì)像值傳遞那樣復(fù)制出來(lái)另一份,因此這種方式本身的速度更快,因?yàn)樗贿M(jìn)行復(fù)制,可以減輕復(fù)制大型對(duì)象所產(chǎn)生的時(shí)間,因此在比如函數(shù)功能是遍歷一個(gè)數(shù)組時(shí)用&方式或者是指針的方式更好;同時(shí)如果函數(shù)內(nèi)我們希望對(duì)傳入的對(duì)象進(jìn)行數(shù)據(jù)上的操作,并能夠直接輻射到主函數(shù)中,使用指針和&方法更好。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁(yè)名稱:C++引用符&和指針*在函數(shù)中的使用方法和區(qū)別-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.rwnh.cn/article30/copspo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、做網(wǎng)站、企業(yè)網(wǎng)站制作、用戶體驗(yàn)、網(wǎng)頁(yè)設(shè)計(jì)公司、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
新疆| 四平市| 星子县| 隆尧县| 基隆市| 台中市| 紫金县| 濮阳县| 高阳县| 思茅市| 密山市| 万载县| 孝昌县| 西华县| 寻乌县| 周宁县| 水城县| 本溪| 黎川县| 荆门市| 绥芬河市| 临桂县| 仲巴县| 泾源县| 辽源市| 内黄县| 儋州市| 新竹县| 宜都市| 绥滨县| 西平县| 荥经县| 修水县| 德阳市| 奇台县| 金阳县| 宁夏| 大田县| 登封市| 苍山县| 鹿泉市|