title: What does int argc, char *argv[] mean?
body: <p>In many C++ IDE's and compilers, when it generates the main function for you, it looks like this:</p>
  
  <pre><code>int main(int argc, char *argv[])
  </code></pre>
  
  <p>When I code C++ without an IDE, just with a command line compiler, I type:</p>
  
  <pre><code>int main()
  </code></pre>
  
  <p>without any parameters.  What does this mean, and is it vital to my program?</p>