title: How to convert string to const unsigned char* without using reinterpret_cast (modern approach)
body: <p>I have variable <code>input</code> type <code>const std::string&amp;</code>:</p>
  <pre><code>const std::string&amp; input
  </code></pre>
  <p>Now I need to convert this to <code>const unsigned char*</code> because this is the input of the function.</p>
  <p>Unitl now I have correct code for converting:</p>
  <pre><code>reinterpret_cast&lt;const unsigned char*&gt;(input.c_str()) 
  </code></pre>
  <p>This works well, but in clang I got a warning:</p>
  <pre><code>do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast]
  </code></pre>
  <p>What is the correct way to change a <code>string</code> or <code>const char*</code> to <code>const unsigned char*</code>?</p>