C++: using curly braces to prevent narrowing during assignment
<p>I'm familiar with using curly braces/ initializer lists to prevent narrowing when <em>initializing</em> a variable, but is it good practice to use it when <em>assigning</em> a value to a variable too? </p>

<p>For e.g.</p>

<pre><code>int i{1};       // initialize i to 1
double d{2.0};  // initialize d to 2.0
i = {2};        // assign value 2 to i
i = {d};        // error: narrowing from double to int
</code></pre>

<p>Is there a reason not to use curly braces for assignment?</p>