title: Declaring a variable inline with an assignment c++
body: <p>While reading about bitmap processing in C++ I came across this block of code
  used for loading a color palette with data taken from a bitmap file:</p>
  
  <pre><code>//set Number of Colors
  numColors = 1 &lt;&lt; bmih.biBitCount;
  
  //load the palette for 8 bits per pixel
  if(bmih.biBitCount == 8) {
          colours=new RGBQUAD[numColours];
          fread(colours,sizeof(RGBQUAD),numColours,in);
  }
  </code></pre>
  
  <p>where "bmih.biBitCount" is a predefined variable that already has a value.
  Why does the author declare numColors to equal 1 then assign the value bmih.biBitCount to that variable in the same line? what exactly does this do and what are the benefits of assigning a variable a value twice inline like this?</p>