c++で可変個引数を使うとき

foo(first,...)の書式を使うか
引数に配列を取るか
引数にvectorやlistをとるか

どれが一番無難でしょうか