title: Return an empty set with "return std::set<int>()" - why does it run?
body: <p>Don't understand why <code>return std::set&lt;int&gt;();</code> gives back an empty <code>std::set&lt;int&gt;</code>.
  Is there an operator-overload for the <code>operator ()</code> in the <code>std::set</code> class ? I assumed the <code>std::set&lt;int&gt;()</code> is a function and not an object ! Where is this function defined ?</p>
  
  <p>It seems that the the default constructor <code>std::set&lt;int&gt; s;</code> is the same like the expression <code>std::set&lt;int&gt;()</code> ???</p>
  
  <p>Thanks for any reply ... seems i don't understand the C++ basics...</p>