title: C++ 11: Adding an int to a wchar_t
body: <p>I naively added an int to a wchar_t resulting in a Visual Studio 2013 warning.</p>
  
  <pre><code>L'A' + 1 // next letter
  </code></pre>
  
  <p><code>warning C4244: 'argument' : conversion from 'int' to 'wchar_t', possible loss of data</code></p>
  
  <p>So the error is concerned that a 4 byte int is being implicitly cast to a 2 byte wchar_t. Fair enough. </p>
  
  <p>What is the C++ 11 standards safe way of doing this? I'm wondering about cross-platform implications, code-point correctness and readability of doing things like: <code>L'A' + (wchar_t)1</code> or <code>L'A' + \U1</code> or whatever. What are my coding options?</p>
  
  <p>Edit T+2: I presented this question to a hacker's group. Unsurprisingly, no one got it correct. Everyone agreed this is a great interview question when hiring C/C++ Unicode programmers because it's very terse and deserves a meaty conversation.</p>