title: Why isn't main defined `main(std::vector<std::string> args)`?
body: <p>This question is only half tongue-in-cheek. I sometimes dream of a world without naked arrays or c strings. </p>
  
  <p>If you're using c++, shouldn't the preferred definition of main be something like:</p>
  
  <pre><code>int main(std::vector&lt;std::string&gt; args)
  </code></pre>
  
  <p>?</p>
  
  <p>There are already multiple definitions of <code>main</code> to choose from, why isn't there a version that is in the spirit of C++?</p>