內(nèi)聯(lián)函數(shù)與普通函數(shù)的區(qū)別 成員函數(shù)一定是內(nèi)聯(lián)函數(shù)?
成員函數(shù)一定是內(nèi)聯(lián)函數(shù)?不一定。成員函數(shù)屬于對(duì)象,而靜態(tài)函數(shù)屬于類(lèi)。如果函數(shù)是在類(lèi)中定義的,編譯器將默認(rèn)為內(nèi)聯(lián)函數(shù),如果函數(shù)的定義被輸出,并且關(guān)鍵字inline被添加到函數(shù)的聲明中,則函數(shù)將成為內(nèi)聯(lián)函
成員函數(shù)一定是內(nèi)聯(lián)函數(shù)?
不一定。
成員函數(shù)屬于對(duì)象,而靜態(tài)函數(shù)屬于類(lèi)。如果函數(shù)是在類(lèi)中定義的,編譯器將默認(rèn)為內(nèi)聯(lián)函數(shù),如果函數(shù)的定義被輸出,并且關(guān)鍵字inline被添加到函數(shù)的聲明中,則函數(shù)將成為內(nèi)聯(lián)函數(shù),否則它是一個(gè)成員函數(shù)。
什么是內(nèi)聯(lián)函數(shù)?
內(nèi)聯(lián)函數(shù)具有通用函數(shù)的特性,只有在處理函數(shù)調(diào)用時(shí)才不同于通用函數(shù)。調(diào)用一般函數(shù)時(shí),程序的執(zhí)行權(quán)應(yīng)轉(zhuǎn)移到被調(diào)用函數(shù),然后返回到調(diào)用它的函數(shù);調(diào)用內(nèi)聯(lián)函數(shù)時(shí),調(diào)用表達(dá)式由內(nèi)聯(lián)函數(shù)的主體替換。在使用內(nèi)聯(lián)函數(shù)時(shí),我們應(yīng)該注意以下幾點(diǎn):
1。內(nèi)聯(lián)函數(shù)中不允許使用循環(huán)語(yǔ)句和開(kāi)關(guān)語(yǔ)句。
如果內(nèi)聯(lián)函數(shù)有這些語(yǔ)句,編譯器會(huì)將函數(shù)視為普通函數(shù)來(lái)生成函數(shù)調(diào)用代碼。遞歸函數(shù)(調(diào)用它們自己的函數(shù))不能用作內(nèi)聯(lián)函數(shù)。內(nèi)聯(lián)函數(shù)只適用于只有1-5行的小函數(shù)。對(duì)于包含許多語(yǔ)句的大型函數(shù),函數(shù)調(diào)用和返回的代價(jià)相對(duì)較小,因此不必使用內(nèi)聯(lián)函數(shù)。
2. 內(nèi)聯(lián)函數(shù)的定義必須在第一次調(diào)用內(nèi)聯(lián)函數(shù)之前出現(xiàn)。
3. 在本專(zhuān)欄中提到的類(lèi)結(jié)構(gòu)中,類(lèi)描述中定義的所有函數(shù)都是內(nèi)聯(lián)函數(shù)。
什么是內(nèi)聯(lián)函數(shù)啊~和普通的成員函數(shù)有什么區(qū)別嗎?
內(nèi)聯(lián)函數(shù)定義:將函數(shù)定義為內(nèi)聯(lián)函數(shù)就是在程序中的每個(gè)調(diào)用點(diǎn)將其“內(nèi)聯(lián)”展開(kāi)。在函數(shù)返回類(lèi)型之前添加inline關(guān)鍵字。在類(lèi)聲明中定義的成員函數(shù)自動(dòng)成為內(nèi)聯(lián)函數(shù)。內(nèi)聯(lián)函數(shù)的應(yīng)用:
1。重復(fù)調(diào)用函數(shù);
2。函數(shù)只有幾行,不包含for、while和switch語(yǔ)句。內(nèi)聯(lián)函數(shù)應(yīng)該在頭文件中定義,這與其他函數(shù)不同。。
雖然我沒(méi)有寫(xiě)太多的代碼,但我以前讀過(guò)一段,想和大家分享,哈哈
!一個(gè)程序員接錯(cuò)了代碼,程序員看了代碼很頭疼,因?yàn)闆](méi)有注釋行,然后偷偷地罵:這個(gè)程序是誰(shuí)寫(xiě)的?沒(méi)有筆記。我必須把結(jié)構(gòu)分成不同的層次。越想越委屈。但看著它,他覺(jué)得代碼越來(lái)越熟悉了。是的,這個(gè)節(jié)目是他寫(xiě)的。哈哈
!因此,必要的注釋對(duì)于代碼是非常必要的。如果你想到那個(gè)程序員,你甚至認(rèn)不出你寫(xiě)的程序。另一個(gè)程序員接手不是更有效嗎?
雖然我寫(xiě)的代碼不多,但我偶爾會(huì)修改站點(diǎn)構(gòu)建系統(tǒng)上的一些模板文件。帶注釋的代碼組織得非常好。看起來(lái)不僅賞心悅目,而且更容易找到錯(cuò)誤的代碼。我認(rèn)為對(duì)于編寫(xiě)程序的人來(lái)說(shuō),要高效地編寫(xiě)代碼,必要的注釋是必不可少的!