Understanding the weird syntax with curly braces in a constructor initializer list
<p>So I was just browsing the source code of a library when I encountered this.</p>

<pre><code>Font::Font(const sf::Font&amp; font) :
        m_font{std::make_shared&lt;sf::Font&gt;(font)}
    {
    }
</code></pre>

<p>I don't understand the syntax </p>

<pre><code>m_font{..}
</code></pre>

<p>What is it? What does it do. I am sorry if this is really stupid question. I don't know what to Google, so asking here.</p>