返回類型和return語句:無返回值函數,有返回值函數,返回數組指針


重點:

1.return語句功能:終止當前正在執行的函數並將控制權返回到調用該函數的地方。Return語句兩種形式:

Return

Return expression;

2.返回void的函數不要求非得有return語句,因為在這類函數的最后一句后面會隱式地執行return

3.Void函數如果想中間退出,可以使用return,作用相當於break,提前退出。

4.一個返回類型是void的函數也可以使用return expression形式,不過return語句的expression必須是另一個返回void的函數。

5.Return語句的返回值類型必須與函數的返回類型相同,或者能隱式地轉換成函數的返回類型。

6.在含有return語句的循環后面應該也有一條return語句,如果沒有的話,程序就應該是錯誤的。

7.函數完成后,它所占用的存儲空間也隨之釋放。因此,函數終止將意味着局部變量的引用將指向不再有效的內存區域。

Tip:確保返回值安全,我們不妨提問:引用所引的是在函數之前已經存在的哪個對象?

8.返回局部對象的引用時錯誤的,同樣,返回局部對象的指針也是錯誤的。一旦函數完成,局部對象被釋放,指針將指向一個不存在的對象。

9.引用返回左值!出現在賦值語句的左側;如果返回類型是常量引用,不可以給結果賦值。

10.C++11新標准規定:函數可以返回花括號包圍的值的列表。

   Return {};

   Return {“functionX” , “okey”};

   Return {“functionX” , expected , actual};

如果函數返回的是內置類型,則花括號包圍的列表最多包含一個值。

11.C++11新標准規定:我們允許main函數沒有return語句直接結束,因為如果到了main函數的結尾處沒有return語句,編譯器會隱式地插入一條返回0return語句。

12.預處理變量,既不能在前面加上std::,也不能在using聲明中出現。

13.遞歸函數:如果函數調用了它本身,無論調用是直接的或是間接的,都稱為遞歸函數。

NOTEmain函數不可以調用自己!

14.因為數組不能被拷貝,所以函數不能返回數組。但是可以返回數組的指針或引用。

15.返回數組指針的函數形式如下所示:

   Type ( *function ( parameter_list ) [dimension]

Type:表示元素的類型,dimension表示數組的大小,(*function(parameter_list))兩端的括號必須存在。

Tip:如果沒有這對括號,函數的返回類型將是指針的數組。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM