1.千萬不要返回區域性物件的引用
理解返回引用至關重要的是:千萬不能返回區域性變數的引用。
當函式執行完畢時,將釋放分配給區域性物件的儲存空間。此時,對區域性物件
的引用就會指向不確定的記憶體。考慮下面的程式:
// disaster: function returns a reference to a local object
const string &manip(const string& s)
這個函式會在執行時出錯,因為它返回了區域性物件的引用。當函式執行完畢,字串 ret 占用的儲存空間被釋放,函式返回值指向了對於這個程式來說不再有效的記憶體空間。 確保返回引用安全的乙個好方法是:請自問,這個引用指向哪個在此之前存在的物件?
2.內聯函式:inline函式避免函式呼叫的開銷!
把 inline 函式放入標頭檔案,內聯函式應該在標頭檔案中定義,這一點不同於其他函式。
3.類的成員函式
4.過載函式
出現在相同作用域中的兩個函式,如果具有相同的名字而形參表不同,則稱為過載函式。 任何程式都僅有乙個 main 函式的例項。main 函式不能過載。
第七章 函式
1.ansi c 允許函式原型的使用,函式宣告提供給編譯器和之後的呼叫函式返回值型別,引數型別和數量的資訊,而k c用單獨的列表給出引數的型別,編譯器只記住函式的返回值型別,但不儲存函式的引數數量和型別 2.沒有return語句的函式,隱式的返回 3.函式的原型可以單獨放於乙個標頭檔案中,一定要具有...
第七章 函式
樂趣在於發現。程式設計最大的樂趣在於編寫自己的函式 使用c 函式步驟 1.函式定義 2.函式原型 3.呼叫函式 函式分為兩類 有返回值和沒有返回值的函式。void函式表示沒有返回值 void funcitonname parameterlist include using namespace std...
第七章 函式
1.函式不能返回另乙個函式或者內建陣列型別,但是可以返回指向函式的指標,或指向陣列元素的指標 int foo bar 2.函式必須指定返回型別,至少也要void 3.c 是一種靜態強型別語言,每一次函式呼叫,編譯時都會檢查實參。4.如果形參具有非引用型別,則複製實參的值,對形參的修改不會影響實參的值...