title: c++ call thread constructor
body: <p>I was reading concurrency in action and came up with this piece of code. However, i dont quite understand why line&lt;1> is syntax valid. Also, how the order got determined? is it possible to put <code>std::thread t(&amp;my_x, &amp;X::do_lengthy_work);</code> instead? how many inputs can take based on the code over here?</p>
  
  <pre><code>class X
  {
  public:
  void do_lengthy_work();
  };
  
  X my_x;
  std::thread t(&amp;X::do_lengthy_work,&amp;my_x);  //&lt;1&gt;   the bood says This code will invoke my_x.do_lengthy_work() on the new thread, because the address of my_x is supplied as the object pointer
  </code></pre>