c primer學習筆記 6 函式 2

2021-09-06 02:30:14 字數 1318 閱讀 6734

string screeninit(string::size_type height = 24,

string::size_type width = 80,

char background = ' ' );

要麼全有,要麼全沒有.

呼叫

string screen;

screen = screeninit(); // equivalent to screeninit (24,80,' ')

screen = screeninit(66); // equivalent to screeninit (66,80,' ')

screen = screeninit(66, 256); // screeninit(66,256,' ')

screen = screeninit(66, 256, '#');

這個變數定義於函式中,但生命週期卻跨越了函式,物件一旦被建立,直至程式結束前才被撤銷

size_t count_calls()

int main()

輸出:

乙個函式前面加上inline關鍵字,則成為內聯函式.

特性:將函式展開,消除函式呼叫的額外開銷(提高效能),適用於呼叫次數多,**精湛的

1.非引用返回

int max(int &a,int &b)

test

int a=10;

int b=20;

int c=max(a,b);

int *d=&b;

int *e=&c;

bool f=d==e;

cout << f << endl;

輸出0,位址不同

2.返回引用

int &max2(int &a,int &b)

唯一的變化就是返回值變了

重新測試

int a=10;

int b=20;

int &c=max2(a,b);

int *d=&b;

int *e=&c;

bool f=d==e;

cout << f << endl;

返回1,位址相同

3.不要返回函式區域性物件的引用

當函式執行完畢後,將要對布局物件進行釋放

c Primer學習筆記2

while語句 while語句提供了迭代功能 從1到10求和 include int main std coutfor迴圈實現1到10求和 include int main std cout 未知數目的輸入 include int main std cout 類的簡介 一般將類的定義放在標頭檔案中,...

c primer 學習筆記 2

字串字面值可以分開書寫 const char aa aaa aaa 初始化 int a 0 int a int a 報錯,3.14不能放到int中 int a int a 0 申明和定義的區別 申明規定的變數的型別和名字,定義還申請記憶體,初始化 只申明 extren,但如果初始化了 就是 定義了 ...

C Primer 學習筆記 2

p15習題 題1.14 試分析如果v1 v2的情況下,該程式的輸出結果 include int main else int sum 0 for int i lower i upper i std cout sum of lower to upper inclusive is sum std endl...