C では、多くの場合、可変個引数のテンプレート引数を反復処理して、呼び出しなどの特定の操作を実行することが望ましいです。関数。これは、
(f(args), ...);
のいずれかを使用して実現できます。ただし、呼び出された関数がオーバーロードされたカンマ演算子を含むオブジェクトを返す可能性がある場合は、
((void)f(args), ...);
{ print(Args)... }
{ (print(Args), 0)... }
{ 0, (print(Args), 0)... }
namespace so { using expand_type = int[]; } #define SO_EXPAND_SIDE_EFFECTS(PATTERN) ::so::expand_type{ 0, ((PATTERN), 0)... }
#define SO_EXPAND_SIDE_EFFECTS(PATTERN) \ ::so::expand_type{ 0, ((PATTERN), void(), 0)... }
以上がC ですべての可変個引数テンプレート引数に対して関数を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。