title: Calling constructor with braces
body: <p>Simple question about C++11 syntaxis. There is a sample code (reduced one from <a href="http://probablydance.com/2012/12/16/the-importance-of-stdfunction/" rel="noreferrer">source</a>)</p>
  
  <pre><code>struct Wanderer
  {
    explicit Wanderer(std::vector&lt;std::function&lt;void (float)&gt;&gt; &amp; update_loop)
    {
      update_loop.emplace_back([this](float dt) { update(dt); });
    }
    void update(float dt);
  };
  
  int main()
  {
    std::vector&lt;std::function&lt;void (float)&gt;&gt; update_loop;
    Wanderer wanderer{update_loop}; // why {} ???
  }
  </code></pre>
  
  <p>I'd like to know, how it can be possible call constructor with curly brackets like <code>Wanderer wanderer{update_loop};</code> It is neither initializer list, nor uniform initialization. What's the thing is this?</p>