title: What is std::ref useful for in this function?
body: <p>Why should one prefer to call std::ref instead of not calling it at all?</p>
  
  <pre><code>template&lt;class F, class...Ts&gt; F for_each_arg(F f, Ts&amp;&amp;...a) {
    return (void)initializer_list&lt;int&gt;{(ref(f)((Ts&amp;&amp;)a), 0)...}, f;
    // why not return (void)initializer_list&lt;int&gt;{(f((Ts&amp;&amp;)a), 0)...}, f;
  }
  </code></pre>