title: Are there any real cases proving that 'sizeof...' is necessary?
body: <p>I wonder about the advantages of the new operator <code>sizeof...</code> (not to be confused with the <code>sizeof</code> operator). I searched the web and found a few examples that seem all like the following one:</p>
  
  <pre><code>template&lt;class... ArgTypes&gt;
  std::size_t GetLength()
  {
      return sizeof...(ArgTypes);
  }
  </code></pre>
  
  <p>I think the examples are not illustrative.</p>
  
  <p>Are there any real examples to illustrate that <code>sizeof...</code> is very useful?</p>
  
  <p><strong>Updates:</strong></p>
  
  <p>I found another examples from <a href="https://stackoverflow.com/questions/3651499/read-arguments-from-variadic-template">here</a> that seem more meaningful:</p>
  
  <pre><code>template&lt;class ...A&gt; void func(A ...args){
     typedef typename common_type&lt;A...&gt;::type common;
     std::array&lt;common, sizeof...(A)&gt; a = {{ args... }};
  }
  
  template&lt;typename... A&gt; int func(const A&amp;... args)
  {
    boost::any arr[sizeof...(A)] = { args... };
    return 0;
  }
  </code></pre>