Detalles de bajo nivel de la implementación del operador de asignación C / C ++. ¿Qué devuelve?
Soy un novato total en un mundo de C ++ (y C también). Y no conozco todos sus detalles. Pero una cosa realmente me molesta. Se trata de construcciones como:while (a=b) {...}
. Según entiendo, esta magia funciona porque el operador de asignación en C y C ++ devuelve algo. Entonces las preguntas: ¿qué es lo que vuelve? ¿Es esto algo documentado? ¿Funciona igual en C y C ++? ¡Los detalles de bajo nivel sobre el operador de asignación y su implementación en C y C ++ (si hay una diferencia) serán muy apreciados!
Espero que esta pregunta no se cierre, ya que no puedo encontrar una explicación completa y un buen material sobre este tema desde el punto de vista de bajo nivel.