天天看點

inline和預設形參

聲明時使用關鍵字 inline。

編譯時在調用處用函數體進行替換,節省了參數傳遞、控制轉移等開銷。

注意:

内聯函數體内不能有循環語句和switch語句。

内聯函數的聲明必須出現在内聯函數第一次被調用之前。

對内聯函數不能進行異常接口聲明

函數在聲明時可以預先給出預設的形參值,調用時如給出實參,則采用實參值,否則采用預先給出的預設形參值。

例如:

int add(int x=5,int y=6)

{    return  x+y;

}

void main(void)

{    add(10,20); //10+20

      add(10);  //10+6

      add();  //5+6

預設形參值必須從右向左順序聲明,并且在預設形參值的右面不能有非預設形參值的參數。因為調用時實參取代形參是從左向右的順序。

例:

int add(int x,int y=5,int z=6); //正确

int add(int x=1,int y=5,int z); //錯誤

int add(int x=1,int y,int z=6); //錯誤

繼續閱讀