title: Standard Library Containers with additional optional template parameters?
body: <p>Having read the claim multiple times in articles - I want to add this question to Stackoverflow, and ask the community - is the following code portable?</p>
  
  <pre><code>template&lt;template&lt;typename T, typename Alloc&gt; class C&gt;
  void f() {
    /* some code goes here ... */
  }
  
  int main() {
    f&lt;std::vector&gt;();
  }
  </code></pre>
  
  <p>Is the implementation that supplies <code>std::vector</code> really allowed to have additional, defaulted template parameters beyond the two well known ones? This would render the above code ill-formed, as it assumes two template parameters. See the last paragraph <a href="http://www.informit.com/articles/article.aspx?p=376878" rel="noreferrer">in this article</a> for an example of such a claim. </p>