为什么我们可以使用空括号来初始化std :: function <void(node *)> leave?

时间:2017-04-14 07:45:00

标签: c++ c++11

下面的代码片段是我无法理解的:

extern void DFS(const Graph& g, std::function<void(Node*)> enter, 
                std::function<void(Node*)> leave);

DFS(*graph, visit, {}); // ***this is the call site***

因此,上面的代码使用{}初始化std::function<void(Node*)> leave, 如何理解?

非常感谢,任何信息都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

它依赖于std :: function empty ctor创建一个空函数。

请参阅:http://en.cppreference.com/w/cpp/utility/functional/function/function