9

のいくつかのテンプレートの実装のヘッダー(g ++-4.5.2)を調べていたところ、次のことがわかりました。

/// is_function
template<typename>
  struct is_function
  : public false_type { };
template<typename _Res, typename... _ArgTypes>
  struct is_function<_Res(_ArgTypes...)>
  : public true_type { };
template<typename _Res, typename... _ArgTypes>
  struct is_function<_Res(_ArgTypes......)>
  : public true_type { };

最初の2つの宣言は妥当なようですが、3番目の宣言がどのように機能するか理解できません。何......ですか?標準で探しましたが、何も見つかりませんでした。

4

2 に答える 2

7

以下と同じです:

_Res(_ArgTypes..., ...)

省略記号パラメーターの前のコンマはオプションです。

于 2013-02-02T08:15:26.723 に答える