最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++ 函數(shù)

2023-03-31 11:41 作者:S-a-i_  | 我要投稿

調(diào)用函數(shù)

函數(shù)的調(diào)用完成兩項工作,一是用實參初始化形參,二是將控制權(quán)轉(zhuǎn)移給被調(diào)用函數(shù),此時,主調(diào)函數(shù)的執(zhí)行被暫時中斷,被調(diào)函數(shù)開始執(zhí)行。

當遇到一條return語句時函數(shù)結(jié)束執(zhí)行過程,和函數(shù)調(diào)用一樣,return語句也完成兩項工作,一返回return語句中的值(如果有的話),二將控制權(quán)從被調(diào)用函數(shù)轉(zhuǎn)移回主函數(shù)。



函數(shù)的返回值

函數(shù)的返回類型不可以是函數(shù)或者數(shù)組類型,但是可以是指向數(shù)組或者函數(shù)的指針,這點我們后面會說到。



局部對象

作用域:名字的作用域是程序文本的一部分,名字在其中可見。

生命周期:對象的生命周期是程序執(zhí)行過程中該對象存在的一段時間。

形參和函數(shù)體內(nèi)部定義的變量統(tǒng)稱為局部變量,他們對函數(shù)而言是“內(nèi)部”的,同時局部變量還會“隱藏”在外層作用域中同名的其他所有聲明。

在所有函數(shù)體之外定義的對象存在于程序的整個執(zhí)行過程中,對此類對象在程序啟動時被創(chuàng)建,直到程序結(jié)束被銷毀,局部變量的生命周期依賴于定義的方式。



自動對象

對于普通局部變量對應(yīng)的對象來說,當函數(shù)的控制路徑經(jīng)過變量定義語句時創(chuàng)建該對象,當?shù)竭_定義所在的塊的末端時銷毀他,我們把只存在于塊執(zhí)行期間的對象稱為自動對象。當塊的執(zhí)行結(jié)束后,塊中創(chuàng)建的自動對象的值就變成未定義的了。

對于局部變量對應(yīng)的自動對象來說,則分為兩種情況,1如果變量定義本身含有初始值,就用這個初始值進行初始化,2如果變量不含初始值,執(zhí)行默認初始化,這意味著內(nèi)置類型的未初始化局部變量將產(chǎn)生未定義的值。



局部靜態(tài)對象

局部靜態(tài)對象在程序執(zhí)行路徑的第一次經(jīng)過對象定義語句時初始化,并且直到程序終止才被銷毀,在此期間即使對象所在的函數(shù)結(jié)束執(zhí)行也不會對他有影響。

可見我們的ctr對象并沒有隨函數(shù)調(diào)用的結(jié)束而改變。

如果局部靜態(tài)變量沒有顯示的初始值,他將執(zhí)行值初始化,內(nèi)置類型的局部靜態(tài)變量初始化為0。



函數(shù)聲明

和其他名字一樣,函數(shù)的聲明必須在使用這個函數(shù)之前,類似于變量,函數(shù)只能定義一次,但是可以被反復(fù)聲明,唯一的例外是如果一個函數(shù)永遠不會被我們用到,那么它可以只有聲明而沒有定義。

函數(shù)的聲明和定義非常相似,唯一的區(qū)別就是函數(shù)聲明無需函數(shù)體,用一個分號代替即可。因為函數(shù)的聲明不包含函數(shù)體,所以就無需形參的名字,事實上,在函數(shù)的聲明時經(jīng)常省略形參的名字,但是寫上形參還是有好處的,它可以幫助我們理解函數(shù)的功能。

我們選擇beg和end作為形參的名字表示兩個迭代器劃定了輸出值的范圍。

函數(shù)的三要素(返回類型,函數(shù)名,形參類型)描述了函數(shù)的接口,說明了調(diào)用該函數(shù)所需的全部信息,函數(shù)聲明也叫做函數(shù)原型。

建議變量在頭文件中聲明,在源文件中定義,與之類似,函數(shù)也應(yīng)該如此。定義函數(shù)的源文件應(yīng)該把含有函數(shù)聲明的頭文件包含進來,編譯器負責驗證函數(shù)的定義和聲明是否匹配。



這里其實還有一章分離式編譯,但是本人目前學力不足,以后有機會再介紹。

C++ 函數(shù)的評論 (共 條)

分享到微博請遵守國家法律
光山县| 胶州市| 青川县| 甘肃省| 栾城县| 寿阳县| 会同县| 清苑县| 民权县| 澎湖县| 嘉峪关市| 茌平县| 通化市| 塔河县| 红桥区| 漠河县| 大厂| 修水县| 家居| 南涧| 富顺县| 宜兰县| 浦北县| 富源县| 枞阳县| 昌乐县| 图木舒克市| 进贤县| 当阳市| 新化县| 聂拉木县| 双鸭山市| 凉山| 西贡区| 黔江区| 新沂市| 长乐市| 同江市| 文山县| 邳州市| 兴和县|