對於乙個給定的函式而言,引數的個數個型別都是確定的,如果在某些情況下想要是實現引數個數任意應該怎麼處理呢?
分為兩種情況:
引數型別一致
引數型別不定
對於引數型別一致的情況,可以採用initializer_list的方式來實現,示例**如下:
void
print
(std::initializer_list<
int> vals)
std::cout << std::endl;
}print()
;//呼叫此函式
注意一下與普通函式的區別:
void
print
(std::initializer_list<
int> vals)
std::cout << std::endl;
}void
print
(int ia,
int ib)
print(1
,2);
print()
;
對於引數型別不一致的情況,可以採用tuple的方式來實現;除此之外還可以採用…的方式,不過…一般用於模板中,對於一般的函式而言,使用tuple更為方便一些。 Python實現接受任意個數引數的函式
這個功能倒也不是我多麼急需的功能,只是恰好看到了,覺得或許以後會用的到。功能就是實現函式能夠接受不同數目的引數。其實,在c語言中這個功能是熟悉的,雖說實現的形式不太一樣。c語言中的main函式是可以實現類似的功能的,可以通過這種方式實現乙個支援命令列引數的程式。先寫一段python實現相應功能的示範...
c語言函式任意個數引數的實現
一 簡介 c語言在寫函式時,如果不確定要輸入多少引數,標準庫提供了一種方式輸入任意長度引數。二 使用方法 1 新增標頭檔案 include 2 定義 引數上面用 代表任意個引數,省略號之前的那個引數是 int,代表了要傳遞的可變引數的總數 3 訪問 在函式定義中建立乙個 va list 型別變數 使...
Python實現接受任意個數引數的函式方法
這個功能倒也不是我多麼急需的功能,只是恰好看到了,覺nyzfvxeojb得或許以後會用的到。功能就是實現函式能夠接受不同數目的引數。其實,在c語言中這個功能是熟悉的,雖說實現的形式不太一樣。c語言中的main函式是可以實現類似的功能的,可以通過這種方式實現乙個支援命令列引數的程式。先寫一段pytho...