解释size_t(*)(const std :: pair <int,int =“”>&amp;)的含义

时间:2017-02-22 16:15:30

标签: c++

我读了一些代码并偶然发现了这样的字符串

ConcurrentHashMap<std::pair<int, int>, int, size_t(*)(const std::pair<int, int>&)> pair_table(pair_hash);

你能帮忙解释size_t(*)(const std::pair<int, int>&)构造的含义吗?

3 个答案:

答案 0 :(得分:2)

从里到外阅读:

size_t(*)(const std::pair<int, int>&)

*表示该类型是指针,然后括号表示这是一个指向函数的指针,该函数将const std::pair<int, int>&作为参数并返回size_t

答案 1 :(得分:1)

它是一个指向函数的指针,该函数返回size_t并以const std::pair<int, int>&作为参数。

通常,您会在(*)部分看到变量名称,但在实例化模板时却没有。这是什么导致了混乱?

答案 2 :(得分:1)

它是指向具有size_t返回类型和const std::pair<int, int>&参数的函数的函数指针。