title: assigning members of a pair to variables
body: <p>Is it possible to assign the members of a pair without creating a temporary object?</p>
  
  <pre><code>#include &lt;tuple&gt;
  using namespace std;
  
  pair&lt; bool, int &gt; foo()
  {
      return make_pair( false, 3 );
  }
  
  int main()
  {
      int x;
      bool y;
  
      auto z = foo();
      x = z.second;
      y = z.first;
  
      return 0;
  }
  </code></pre>
  
  <p>In the above code, the object <code>auto z</code> is needed to "hold" the pair before dissecting it, but its creation might be expensive in the actual code.</p>