C Premer Plus學習(五) 函式探幽

2021-09-07 21:40:15 字數 2451 閱讀 4057

內聯函式就是比較省資源,然後一般就是將簡短,使用頻率高的函式作為內聯函式會比較合適。

#include "

stdafx.h

"#include

using

namespace

std;

inline

double square(double x)

int _tmain(int argc, _tchar*ar**)

c和c++使用「&」符號來表示指示變數的位址。但c++中「&」還表示宣告引用

int

rat;

int © = rat;

宣告引用變數的時候必須進行初始化,一定要的。直接將實參和形參進行關聯起來,即類似於同乙個人的不同名字。所以進行對形參的修改會導致實參一樣跟著變化,因為兩者本就是一體。

exercise.cpp : 定義控制台應用程式的入口點。

//#include

"stdafx.h

"#include

using

namespace

std;

struct

sysop

;const sysop & use(sysop &sysopref);

int _tmain(int argc, _tchar*ar**)

; use(looper);

cout

<< "

looper:

"<< looper.used << "

use(s)\n";

sysop copycat;

copycat =use(looper);

cout

<< "

looper:

"<< looper.used << "

use(s)\n";

cout

<< "

use(looper):

"<< use(looper).used << "

use(s)\n

";//

可以直接使用函式的返回值的結構體內的成員

return0;

}const sysop & use(sysop & sysopref) //

返回值是乙個引用,可以節約賦值的時間(不用再開闢臨時變數)

一般返回值要加上const,這樣子才不會修改返回值。例如下列情況。

use(looper).used=10;
不應該返回函式終止時不再存在的記憶體單元的引用,例如

const sysop & clone(sysop &sysopref)

即在函式內宣告的引用不可以作為返回值。預設引數指的是當函式呼叫中省略了實參時自動使用的乙個值。

在宣告函式的時候賦值:

char *left(const

char *str , int n=1);

一些規則:

(1)必須從右往左新增預設值,也就是說要為某個引數設定預設值,則,其右邊的引數一定也設定了預設值、

(2)實參必須從左往右一次被賦予相應的形參,不能跳過任何的引數。

同樣的函式名稱具有不同的函式功能。

對於同樣名稱的函式,則需要有特徵量進行區分,所以特徵量即為形參的個數和型別

一些規則

(1)相同的型別的引用和非引用變數是同一中特徵。

(2)匹配函式時,並不區分const和非const變數。

(3)返回值型別不作為特徵量

同樣的函式,只是引數的型別不同,所以制定乙個函式的模板。

template //template可以替換為class
void swap(any &a, any &b)

template 

void swap(any &a, any &b);

template

void swap(any a,any b,int m);

假如定義以下的結構:

struct

job

假如希望能夠交換其中的salary和floor成員,而不交換兩個變數的name成員。我們可以通過顯示具體化來實現:

(1)相關規則

(2)乙個demo

void swap(job &,job &);

template

void swap(any &,any &);

template

<> swap(job &,job &);//

顯示具體化

libevent學習筆記 setvbuf 函式

函式名 setvbuf 用 法 int setvbuf file stream,char buf,int type,unsigned size type 期望緩衝區的型別 iofbf 滿緩衝 當緩衝區為空時,從流讀入資料。或者當緩衝區滿時,向流寫入數 據。iolbf 行緩衝 每次從流中讀入一行資料或...

Python 學習筆記 enumerate函式

enumerate 函式用於將乙個可遍歷的資料物件 如列表 元組或字串 組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。seasons spring summer fall winter list enumerate seasons 0,spring 1,summer 2,f...

再學python3 五 python的內建函式

內建函式 dir 檢視變數擁有的方法 callable 檢視是否是函式 help 檢視幫助 print dir int abs add print callable print true print help int 列印進度條 可用progress bar外掛程式做 import time for...