title: c++ template constructor initialization
body: <pre><code>template&lt;class T&gt;
  class Node
  {
      public:
      Node(Node&lt;T&gt;* next=NULL, T data=T()) : _next(next), _data(data)
      {
      } 
      Node&lt;T&gt;* _next;
      T _data;
  };
  </code></pre>
  
  <p>I'm new to c++ template. For default parameters, is <code>T data = T()</code> the standard way to do it? Maybe <code>T data = 0</code> is ok too? </p>