Why bool variable can not be set to 0, in addition to the direct assignment of 0?
<p>I can not overflow the bool variable becomes zero. The variables of type bool is 1 byte long，so I consider it will overflow when variables are stored 256，but it's not like I expected.</p>

<pre><code>#include&lt;iostream&gt;


int main()
{
    bool b = 0;
    std::cout &lt;&lt; sizeof(b) &lt;&lt; std::endl; // the result is 1 byte
    std::cout &lt;&lt; b &lt;&lt; std::endl; // the result is 0


    b = 256;
    std::cout &lt;&lt; b &lt;&lt; std::endl; // the result is 1,rather than the desired zero

    return 0;
}
</code></pre>

<p><strong>Maybe I did not make it clear that when only 1 byte,both 0 and 256 are stored as 00000000(binary)</strong></p>
