title: Initialize array or vector over constructor's initializing list
body: <p>How can I initialize a (string) array or vector with a constructor's initializing list in C++? </p>
  
  <p>Consider please this example where I want to initialize a string array with arguments given to the constructor:</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;vector&gt;
  
  class Myclass{
             private:
             std::string commands[2];
             // std::vector&lt;std::string&gt; commands(2); respectively 
  
             public:
             MyClass( std::string command1, std::string command2) : commands( ??? )
             {/* */}
  }
  
  int main(){
            MyClass myclass("foo", "bar");
            return 0;
  }
  </code></pre>
  
  <p>Besides that, which of the two types (array vs vector) is recommended for saving two strings while creating an object, and why?</p>