title: Improve readability of very large constants in C++
body: <p>In C++, sometimes you want to declare large numbers. Sometimes it's hard to see if you have the right number of zeroes.</p>
  
  <pre><code>const long long VERY_LARGE_NUMBER = 300000000000;
  </code></pre>
  
  <p>In a language like OCaml, you can separate numbers with underscores to improve readability.</p>
  
  <pre><code>let x = 300_000_000_000;;
  </code></pre>
  
  <p>Is there a similar mechanism in C++? I have seen things like <code>= 1 &lt;&lt; 31</code> for powers of 2, but what about for very large powers of 10? Sometimes you're declaring very large numbers (e.g. array bounds in competition programming) and you want to be confident that your declared array size is correct.</p>
  
  <p>I can think of something like:</p>
  
  <pre><code>const long long VERY_LARGE_NUMBER = 3 * (1 &lt;&lt; (11 * 10 / 3));
  </code></pre>
  
  <p>...which abuses <code>1&lt;&lt;10 ~= 1000</code> get close to 3 with 11 zeroes, but it's verbose and not exact.</p>