 
    : a(aa), b(bb), c(cc) {};
  A&amp; getA() { return a; };
  B&amp; getB() { return b; };
  C&amp; getC() { return c; };
};

hand_made_tuple hmt(A(), B(), C()); 
hmt.getA(); hmt.getB(); hmt.getC();
</code></pre>

and this code:

<pre><code>tuple&lt;A, B, C&gt; t(A(), B(), C());
t.get&lt;0&gt;(); t.get&lt;1&gt;(); t.get&lt;2&gt;(); 
</code></pre>

<p>Note, that there are widely used compilers (e.g. bcc 5.5.1) which fail to optimize this kind of tuple usage.
</p>  
<p>
Depending on the optimizing ability 