title: Explicitly use defaults for some parameters in class template instantiation
body: <p>A class template can have multiple parameters that all have defaults.</p>
  
  <pre><code>template&lt;typename UnderlyingT0 = int, typename UnderlyingtT1 = long, typename StringT = std::string&gt;
  struct options;
  </code></pre>
  
  <p>Instatiating the template with just default parameters is easy:</p>
  
  <pre><code>options&lt;&gt; my_default_options;
  </code></pre>
  
  <p>But what if I want to change a subset of parameters?</p>
  
  <pre><code>options&lt;int, int, std::wstring&gt; wstring_options;
  </code></pre>
  
  <p>It is not obvious that <code>int</code> is a default for the first parameter while for the second it isn't. Is there something like</p>
  
  <pre><code>options&lt;default, int, std::wstring&gt; wstring_options;
  </code></pre>
  
  <p>in C++?</p>