¿Por qué std :: queue :: pop no devuelve el valor?

Pasé por estopágina pero no puedo entender la razón de lo mismo. Ahí se menciona que

"es más sensato que no devuelva ningún valor y que los clientes usen front () para inspeccionar el valor al frente de la cola"

Pero inspeccionar un elemento desde front () también requería que ese elemento se copiara en lvalue. Por ejemplo en este segmento de código

std::queue<int> myqueue;
int myint;
int result;
std::cin >> myint;
myqueue.push (myint);

/ * aquí se creará temporalmente en RHS, que se asignará al resultado, y en caso de que se devuelva por referencia, el resultado se invalidará después de la operación emergente * /

result = myqueue.front();  //result.
std::cout << ' ' << result;
myqueue.pop();

en quinta líneacout El objeto primero crea una copia de myqueue.front () y luego lo asigna como resultado. Entonces, cuál es la diferencia, la función pop podría haber hecho lo mismo.

Respuestas a la pregunta(7)

Su respuesta a la pregunta