C ++, reglas de evaluación de operandos de operadores ternarios.

Digamos que tengo el siguiente código:

std::vector<T> R;
if (condition) R = generate();
...
for (int i = 0; i < N; ++i) {
    const auto &r = (R.empty() ? generate() : R);
}

Parece que se llama generar independientemente deR.empty(). ¿Es ese el comportamiento estándar?

Respuestas a la pregunta(1)

Su respuesta a la pregunta