std :: tr1 :: function及其接受的模板值

时间:2012-11-28 19:46:20

标签: c++ tr1

我正在审核一些代码并找到类似于:

的行
std::tr1::function<bool (int, int)>(//etc...

我不熟悉模板类型bool (int, int)的语法。基于谷歌搜索,在std::tr1::function的情况下,似乎这种语法用于定义函数的返回类型和参数。这是有道理的,但为什么这种语法有效呢?据我所知,C ++模板只能指定类型吗?

我尝试在代码中将类型的实例实例化为:

bool (int, int) test;

正如我所料,该声明无法编译。至少,语法需要是这样的:     bool(test)(int,int);

bool (int, int)被视为C ++类型吗?关于在我脑海中调和这个的任何提示?

谢谢, 亚当

1 个答案:

答案 0 :(得分:2)

它被称为函数类型。

您无法创建它的实例,但您可以创建指向它们的指针并输入typedef。

这个问题有一些见解:What is a function type used for?

相关问题