C 陣列形參

2021-08-20 17:03:31 字數 429 閱讀 1112

1.c++primer

首先,陣列作為形參,有引用和非引用兩種形式。一般我們使用非引用形式,也就是將形參定義為陣列元素型別的指標,一共有三個等價形式:

1.void func(int *p);

2.void func(int p);

3.void func(int p[10]);

template

void _log(char (&strdest)[size], const char *scetion, const char *key, const char *msg, va_list &parm);

模板非型別形參是模板定義內部的常量值,在需要常量表示式的時候,可使用非型別形參指定陣列的長度, 當呼叫 func是,編譯器會從陣列的實參計算非型別形參的值,也就是編譯器替我們

計算好了size的值,從而省去我們自己傳遞長度。

c 之陣列形參

1.問題,最近看專案log模組,log模板函式中的乙個引數竟然看蒙x了。函式原形是這樣 template void log char strdest size const char scetion,const char key,const char msg,va list parm 對!就是 cha...

C 陣列形參的傳遞

陣列有兩個特性 傳參的方法 當下有乙個陣列int j 2 我們自寫了乙個函式void findsomeone 要求將陣列引數傳進去。有以下兩種方式 在函式內部使用時,point 即可實現指標的移動 陣列大小 陣列是以指標的形式傳遞給函式的,所以函式並不知道陣列的確切尺寸,因此呼叫者應該為此提供一些資...

7 2 4陣列形參

1.編譯器不會檢查實參陣列的長度 2.通過引用傳遞陣列 void printvalues int arr 10 編譯器檢查實參的大小.3.main 處理命令列選項 code include using namespace std int main int argc,char argv else 4....