日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開源 > php教程 > [C++] 變量、指針、引用作函數(shù)參數(shù)的區(qū)別

[C++] 變量、指針、引用作函數(shù)參數(shù)的區(qū)別

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-12-12 08:03:44 閱讀次數(shù):3304次


//============================================================================ // Name : CppLab.cpp // Author : sodino // Version : // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================ #include <iostream> #include <string> using namespace std; struct Student{ string name; }; int main() { void print(Student); void print_point(Student *); void print_reference(Student &); struct Student stu = {"Yao ming"}; cout << "main &stu=" << &stu << endl << endl; print(stu); cout << "after print() name=" << stu.name << " no changed."<< endl << endl; print_point(&stu); cout << "after print_point() name=" << stu.name << " has been modified." << endl << endl; print_reference(stu); cout << "after print_reference() name=" << stu.name << " has been modified." << endl; return 0; } void print(Student stu) { // 實(shí)參轉(zhuǎn)形參,會(huì)消耗額外的時(shí)間。print_reference()則效力高許多。 cout << "print() stu address=" << &stu << " is different."<< endl; // 形參stu與函數(shù)體外的stu是兩個(gè)不同的對(duì)象!! stu.name = "new.name"; // 這里的賦值其實(shí)不會(huì)改變函數(shù)體外stu的name cout << "print() set new name=" << stu.name << endl; } void print_point(Student * stu) { stu->name = "new.point.name"; cout << "print_point() set new name=" << stu->name << endl; } void print_reference(Student &stu) { stu.name = "new.reference.name"; cout << "set new name=" << stu.name << endl; }


main &stu=0x7fff5eabfbc8 print() stu address=0x7fff5eabfba0 is different. print() set new name=new.name after print() name=Yao ming no changed. print_point() set new name=new.point.name after print_point() name=new.point.name has been modified. set new name=new.reference.name after print_reference() name=new.reference.name has been modified.

print():用結(jié)構(gòu)體變量作為實(shí)參和形參,簡(jiǎn)單明了,但在調(diào)用函數(shù)時(shí)形參要額外開辟內(nèi)存,實(shí)參中全部?jī)?nèi)容通過(guò)值傳遞逐一傳給形參。造成空間和時(shí)間上的浪費(fèi)。
print_point():指定亦是作為實(shí)參和形參,實(shí)參只是將stu的起始地址傳給形參,而不是逐一傳遞,也沒有額外的內(nèi)存開辟,效力高。但可讀性可能不是很好。
print_reference():實(shí)參是結(jié)構(gòu)體Student類型變量,而形參用該類型的援用,在履行函數(shù)期間,函數(shù)體操作的stu是函數(shù)體外的stu,可讀性亦強(qiáng)。

C++中增設(shè)援用變量,提高效力的同時(shí)保持了高可讀性。






生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 精品久久99 | 黄网址在线免费观看 | 亚洲一区二区三区免费视频 | 日韩一级片毛片 | 玖玖精品在线 | 国内成人在线 | 亚洲精品久久久久久下一站 | 国产亚洲精品久久久久久 | 偷拍第一页 | 一区二区三区欧美日韩 | www.com黄| 亚洲欧美色图片 | 黄色特级片 | 亚洲福利片 | 99免费精品视频 | 国产精品久久久久久久久久白浆 | 国产成人精品一区 | 欧美一级在线观看 | 国产一二区在线观看 | 日本免费一区二区在线 | 国产又色又爽又黄又免费 | 国产精品一区av | 国产成人精品久久二区二区91 | 色婷婷亚洲综合 | 精品99久久久久久 | 欧美一区二区在线播放 | 美女在线免费视频 | 偷拍自拍在线视频 | 久久99久久99 | 成人精品一区二区三区校园激情 | 久久久久免费看 | 久久精品一区二区国产 | 在线一区二区三区四区 | 国产区在线 | 色婷婷狠 | 成人在线看片 | 午夜精品一区二区三区视频免费看 | 一区二区三区在线观看视频 | 国产在线观看av | 女人黄色特级大片 | 亚洲精品电影网在线观看 |