title: What is &= and |=
body: <p>I was going through some VC++ code in a large code-base and came across this:  </p>
  
  <pre><code>    if (nState &amp; TOOL_TIPS_VISIBLE)
          nState &amp;= ~TOOL_TIPS_VISIBLE;
      else
          nState |= TOOL_TIPS_VISIBLE;
      break;
  </code></pre>
  
  <p>Is there any such operator as &amp;= or |= in C++? What is it for?<br>
  Is it the equivalent of <code>nState = nState &amp; ~TOOL_TIPS_VISIBLE</code>?</p>