function objects and constructors
<p>I was just reading <a href="http://stdcxx.apache.org/doc/stdlibug/3-2.html" rel="nofollow">this</a></p>

<pre><code>class biggerThan 
      {
        public:
        const int testValue;
        biggerThan(int x) : testValue(x) { }

        bool operator()(int val) const 
        { return val &gt; testValue; }
  };
</code></pre>

<p>Now say its used like </p>

<pre><code>  std::list&lt;int&gt;::iterator firstBig =
     std::find_if(aList.begin(), aList.end(), biggerThan(12));
</code></pre>

<p>OR</p>

<p>Just simply like this 
biggerThan object(12)</p>

<p>Now when biggerThan(12) this is used it can invoke the constrcutor to initialze the testvalue or () operator is overloaded and 12 is passed to the function(bool operator()(int val) const ) so that it returns a bool.</p>

<p>which one happens first/how does it works</p>

<p>does it leads to any ambiguity or does the call to the overlaode operator happens in some fashion like</p>

<p><strong>object.operator().(12).</strong></p>

<p>please make my undersatnding clear.</p>
