【发布时间】:2013-02-02 08:12:47
【问题描述】:
我正在查看我的标头 (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 { };
前两个声明似乎合理,但我不知道第三个是如何工作的。 ...... 是什么?我在标准里找了,没找到。
【问题讨论】:
-
如果你想要 C++11,你应该至少使用 GCC 4.7,而不是 4.5(它在 C++2011 标准之前发布)
-
相当于
_ArgTypes..., ...。 -
@BasileStarynkevitch:我实际上还没有编写 C++11 代码。我只是好奇。
标签: c++ templates c++11 g++ variadic-templates