函式的返回主要分為以下幾種情況:
1、主函式main的返回值:
允許主函式main沒有返回值就可結束;可將主函式main返回的值視為狀態指示器,返回0表示程式執行成功,其他大部分返回值則表示失敗。
2、返回非引用型別:
3、返回引用型別:
當函式執行完畢時,將釋放分配給區域性物件的儲存空間。此時對區域性物件的引用就會指向不確定的記憶體!返回指向區域性物件的指標也是一樣的,當函式結束時,區域性物件被釋放,返回的指標就變成了不再存在的物件的懸垂指標。
正確的方式:
int& abc(int a, int b, int c, int& result)錯誤的方式:
int& abc(int a, int b, int c)請注意,如果返回引用使用 this 指標,可以在函式的引數列表中省略
4、返回const型別
由於返回值直接指向了乙個生命期尚未結束的變數,因此,對於函式返回值(或者稱為函式結果)本身的任何操作,都在實際上,是對那個變數的操作,這就是引入const型別的返回的意義。當使用了const關鍵字後,即意味著函式的返回值不能立即得到修改!如下**,將無法編譯通過,這就是因為返回值立即進行了++操作(相當於對變數z進行了++操作),而這對於該函式而言,是不允許的。如果去掉const,再行編譯,則可以獲得通過,並且列印形成z = 7的結果。
include5、例子include
const
int& abc(int a, int b, int c, int& result)
int main()
下面是乙個段有錯誤的**,找出其中的錯誤。
#include正確**:using
namespace std;
int val()
int & ref()
int main()
#includeusing
namespace std;
int j=3;//
j是全域性變數
int val()
int & ref()
int main()
C 函式的返回值 返回引用型別 非引用型別
函式的返回主要分為以下幾種情況 1 主函式main的返回值 允許主函式main沒有返回值就可結束 可將主函式main返回的值視為狀態指示器,返回0表示程式執行成功,其他大部分返回值則表示失敗。2 返回非引用型別 3 返回引用型別 當函式執行完畢時,將釋放分配給區域性物件的儲存空間。此時對區域性物件的...
C 函式的返回值 返回引用型別 非引用型別
在海大本科課程設計的 繼承實驗中 matrix 類的成員函式 unsignedchar at int row,int col 獲取第row行第col列的矩陣元素的值 涉及到了返回引用型別的函式返回值 函式的返回主要分為以下幾種情況 1 主函式main的返回值 允許主函式main沒有返回值就可結束 可...
C 函式的返回值 返回引用型別 非引用型別
函式的返回主要分為以下幾種情況 1 主函式main的返回值 允許主函式main沒有返回值就可結束 可將主函式main返回的值視為狀態指示器,返回0表示程式執行成功,其他大部分返回值則表示失敗。2 返回非引用型別 3 返回引用型別 當函式執行完畢時,將釋放分配給區域性物件的儲存空間。此時對區域性物件的...