C 函式引數省略號

2021-10-25 03:41:58 字數 692 閱讀 3243

int println(const char* fmt, ...);

該省略號表示,c++編譯器只會檢查函式的第乙個引數的資料型別,不會檢查剩下的引數個數和資料型別。

在函式中如果要使用可變引數,需要#include,在函式中使用va_list型別和va_start、va_arg、va_end 3個巨集讀取傳遞到函式中的引數值。

這幾個巨集的定義如下(在 ansi c 中):

type va_arg( va_list arg_ptr, type );// va_arg函式將返回 arg_ptr 所指位置的值,並將 arg_ptr 指向下乙個引數

void va_end( va_list arg_ptr );

void va_start( va_list arg_ptr, prev_param );將引數arg_ptr設定為可變引數列表的第乙個引數。

**如下

#include#includeusing namespace std;

int add(int pre,...)

//求和函式

while(nar**alue!=0);

//自定義結束條件是輸入引數為0

va_end(arg_ptr);

return sum;

}int main()

文字單行省略號 多行出現省略號

第一種僅支援單行省略 width value overflow hidden text overflow ellipsis white space nowrap 第二種支援多行省略 width value overflow hidden text overflow ellipsis display ...

省略號和可變引數模板

1.基本概念 省略號在c c 中有很多用途,包括函式的變數引數列表。c執行庫的printf 就是常見示例。可變引數模板提供了型別安全和靈活性,可應用於類模板和函式模板。2.語法示例 templateclass classname 省略好在typename後 templateclass classna...

省略號和可變引數模板

1.基本概念 省略號在c c 中有很多用途,包括函式的變數引數列表。c執行庫的printf 就是常見示例。可變引數模板提供了型別安全和靈活性,可應用於類模板和函式模板。2.語法示例 templateclass classname 省略好在typename後 templateclass classna...