title: What does __STDC_ISO_10646__ exactly mean?
body: <p>I'm having a hard time understanding the macro <code>__STDC_ISO_10646__</code>, from my copy of the C++ standard:</p>
  
  <p><code>__STDC_ISO_10646__</code></p>
  
  <blockquote>
    <p>An integer constant of the form yyyymmL (for example, 199712L). If
    this symbol is defined, then every character in the Unicode required
    set, when stored in an object of type wchar_t, has the same value as
    the short identifier of that character. The Unicode required set
    consists of all the characters that are defined by ISO/IEC 10646,
    along with all amendments and technical corrigenda as of the specified
    year and month.</p>
  </blockquote>
  
  <p>From my understanding, this means <code>wchar_t</code> on your system would represent a unicode code point. Is this correct? If this is the case, then utf-8 and utf-16 encoding would not be conforming and utf-32 would be conforming right?. Also, what other character encodings are conforming?</p>