title: Debug macro for C++ with variable arguments without the format string
body: <p>Is it possible to write a macro which can take in a variable number of arguments and expands like this :</p>
  
  <pre><code>quickdebug(a)   -&gt;  cout &lt;&lt; #a ": " &lt;&lt; a;
  quickdebug(a,b) -&gt;  cout &lt;&lt; #a ": " &lt;&lt; a &lt;&lt; #b ": "&lt;&lt; b;
  </code></pre>
  
  <p>etc</p>
  
  <p>If not, is it possible for me to at least print all the arguments without giving format strings. e.g</p>
  
  <pre><code>quickdebug2(a)   -&gt; cout &lt;&lt; a ;
  quickdebug2(a,b) -&gt; cout &lt;&lt; a &lt;&lt; " " &lt;&lt; b ;
  </code></pre>
  
  <p>etc</p>
  
  <p>For example in java I can write a function which provides me similar functionality: </p>
  
  <pre><code>void debug(Object...args) 
  {
    System.out.println(Arrays.deepToString(args));
  }
  </code></pre>