;                     // ok 
</code></pre>

In both cases, the conversions performed are: <code>char -> int</code>, <code>B* -> A*</code> (derived class pointer to base class pointer),  <code>B -> C</code> (a user defined conversion) and <code>D -> C</code> (a user defined conversion).

<p>
Note that assignment is also defined from <code>std::pair</code> types:

<pre><code>tuple&lt;float, int&gt; a = std::make_pair(1, 'a');
</code></pre>

<h2><a name = "relational_operators">Relational operators</a></h2>
<p