2017-04-14 4 views
1

以下のコードスニペットは、私が理解できないものです。なぜ私たちはstdを初期化するために空の括弧を使うことができます:: :: <void(Node*)>?

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、 を初期化するために{}を使用していますか?

ありがとうございます。どんな情報もありがとうございます。

+4

デフォルトでは、「leave」オブジェクトが構築されます。それは[*一様初期化*](https://en.wikipedia.org/wiki/C%2B%2B11#Uniform_initialization)の一部です。 –

答えて

関連する問題