C++ constant temporary lifetime
<p>Can you please tell me if such code is correct (according to standard):</p>

<pre><code>struct array {
    int data[4];
    operator const int*() const { return data; }
};

void function(const int*) { ... }

function(array()); // is array data valid inside function?
</code></pre>

<p>Thank you</p>
