¿Qué es exactamente la regla "como si"?
Como dice el título,
¿Qué es exactamente la regla "como si"?
Una respuesta típica que uno obtendría es:
La regla que permite cualquier y todas las transformaciones de código que no cambien el comportamiento observable del programa.
De vez en cuando seguimos recibiendo comportamientos de ciertas implementaciones que se atribuyen a esta regla. Muchas veces equivocadamente. Entonces, ¿qué es exactamente esta regla. La norma no menciona claramente esta regla como una sección o párrafo, así que, ¿qué es exactamente lo que está dentro del ámbito de esta regla? A mí me parece un área gris que no está definida en detalle por el estándar. Alguien puede elaborar los detalles citando las referencias de la norma.
Nota: Marque esto como C y C ++, ya que es relevante para ambos idiomas.