title: Why was the space character not chosen for C++14 digit separators?
body: <p>As of C++14, thanks to <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf">n3781</a> (which in itself does not answer this question) we may write code like the following:</p>
  
  <pre><code>const int x = 1'234; // one thousand two hundred and thirty four
  </code></pre>
  
  <p>The aim is to improve on code like this:</p>
  
  <pre><code>const int y = 100000000;
  </code></pre>
  
  <p>and make it more readable.</p>
  
  <p>The underscore (<code>_</code>)  character was already taken in C++11 by user-defined literals, and the comma (<code>,</code>) has localisation problems &mdash; many European countries bafflingly<sup>&dagger;</sup> use this as the decimal separator &mdash; and conflicts with the comma operator, though I do wonder what real-world code could possibly have been broken by allowing e.g. <code>1,234,567</code>.</p>
  
  <p>Anyway, a better solution would seem to be the space character:</p>
  
  <pre><code>const int z = 1 000 000;
  </code></pre>
  
  <p>These adjacent numeric literal tokens could be concatenated by the preprocessor just as are string literals:</p>
  
  <pre><code>const char x[5] = "a" "bc" "d";
  </code></pre>
  
  <p>Instead, we get the apostrophe (<code>'</code>), not used by any writing system I'm aware of as a digit separator.</p>
  
  <p><strong>Is there a reason that the apostrophe was chosen instead of a simple space?</strong></p>
  
  <hr>
  
  <p><sub><sup>&dagger;</sup> It's baffling because all of those languages, within text, maintain the notion of a comma "breaking apart" an otherwise atomic sentence, with a period functioning to "terminate" the sentence &mdash; to me, at least, this is quite analogous to a comma "breaking apart" the integral part of a number and a period "terminating" it ready for the fractional input.</sub></p>