#include
using
namespace std;
const
int n=10;
intsum1
(const
int*p)
return sum;
}void
sum2
(const
int*p,
int*s)
//常量指標,普通指標,無返回
}const
int*
sum3
(const
int*p,
int*s)
//指標函式(常量指標,普通指標)返回main函式sum3的位址,常位址
return s;
//形參是指標,返回指標
}const
int&
sum4
(const
int*p,
int&s)
//常引用函式(常量指標,普通引用)返回main函式sum4的別名
return s;
//形參是引用,返回引用
}int
main()
/*常量(即 const)物件可以呼叫 const 成員函式,而不能呼叫非const修飾的函式*/
123
4567
8910方法1:
55方法2:
55方法3:
55方法4:
55hello world!
常量(即 const)物件可以呼叫 const 成員函式,而不能呼叫非const修飾的函式
返回的常位址賦值給常指標,不能給普通指標
返回的常位址賦值給常引用,不能給普通引用
子函式返回的位址要是有效的,合法的,不能是臨時變數的位址(子函式裡定義的區域性變數),想通過子函式改變主函式變數,將該變數的位址作為形參傳給子函式處理,如方法二和方法三,或者將該變數的引用傳給主函式處理,再返回別名。
指標和引用作為返回值
一 函式返回值 1.如果返回值小於4byte 用暫存器eax帶回返回值 2.如果返回值大於4byte小於8btye,用兩個暫存器eax edx帶回返回值 3.如果返回值大於8byte,在呼叫前main函式中產生臨時量接受返回值 二 臨時量生成的三種情況 1.函式呼叫之前產生,目的是為了接受函式的返回...
指標和引用作為函式返回值
例子一 引用作為函式返回值 includeusing namespace std int f2 int a,int i int main int n f2 a,3 f2 a,3 14 相當於a 3 cout 例子二 指標作為函式返回值 includeusing namespace std 返回乙個指...
引用作為返回值 多型
1 引用作為返回值,必須遵守以下規則 1 不能返回區域性變數的引用。這條可以參照effective c 1 的item 31。主要原因是區域性變數會在函式返回後被銷毀,因此被返回的引用就成為了 無所指 的引用,程式會進入未知狀態。2 不能返回函式內部new分配的記憶體的引用。這條可以參照effect...