Command-line parameters are one commonly-used and convenient
    mechanism for getting information from the "outside world" into a C++
    program at run time. Here are some things you need to note and remember
    about command-line parameters:
    
      - 
        From a user standpoint, the user enters, at the command-line
        prompt, something like 
prompt> myprogram one two 5 17 *!!
 in which the program to be run is myprogram, and each of
        the items after it (one, two, 5,
        7 and *!!) is a command-line parameter
        for this program. What the program decides to do with this
        information is its business, but it's very important to remember
        three things:
          - There can be as many of these command-line parameters as you
          like.
- Each command-line parameter value is interpreted as an
          old-fashioned C-string. Thus, even command-line parameters that
          "look like" numbers (17, for example) are read in as
          C-string values and must be converted to numbers if the program
          is to use these values in actions that only numbers can be
          involved in, like arithmetic.
- 
            Whitespace is used to delimit command-line parameters, so if a
            single command-line parameter actually contains whitespace, the
            user must place the entire parameter within double quotes, as
            in 
prompt> setupdate "John Doe" "Mary Roe"
 where the program is supplied with only two command-line
            parameters.
 
- 
        From a programmer standpoint, to make use of command-line
        parameters, you must first make sure your main function has the two
        parameters illustrated in 
int main(int argc, char* argv[])
 in which the names argc and argv are not
        required, but are very traditional and should be used. For
        one thing, using these names is mnemonically helpful, since
          - You can think of argc as being an abbreviation for
          argument count, the number of command-line arguments.
          However, be careful because the name of the program itself is
          actually the first command-line parameter, so the value of
          argc is in fact 1 + the number of command-line
          parameters actually entered by the user.
- You can think of argv as being an abbreviation for
          argument values, since it is the name of an array of
          pointers to C-string values (character pointers). As mentioned
          above, the first value is the name of the program itself. So,
          argv[0] points to the name of the program,
          argv[1] points to the first parameter entered by the
          user, argv[2] points to the second parameter entered by
          the user, and so on. Since the user can enter as many parameters
          as desired, argv is clearly a "dynamic array" whose
          storage allocation is handled "behind the scenes".
 
- 
        An alternate form of the parameter list in the main function is 
int main(int argc, char** argv)
 which looks scarier but is actually equivalent to the previous
        form. I mention it only because you may see it, but I would
        recommend use of the first form mentioned, since it is arguably
        somewhat more intuitive and readable.
- Programs that use command-line parameters typically begin by
      checking to see if the right number and/or kinds of values have been
      entered before proceeding to process those entries.
- A final (redundant) reminder: argv[i] is a pointer to
      the ith item entered by the user on the
      command-line, after the name of the program, and is considered to be
      a C-string. Whatever the program needs to do with this value needs to
      take this into account.