Czym dokładnie jest zasada „jak gdyby”?

Jak mówi tytuł,

Czym dokładnie jest zasada „jak gdyby”?

Typowa odpowiedź brzmi:

Reguła, która zezwala na wszelkie transformacje kodu, które nie zmieniają obserwowalnego zachowania programu

Od czasu do czasu zachowujemy zachowania z pewnych implementacji, które są przypisane do tej reguły. Wiele razy niesłusznie. Więc czym dokładnie jest ta reguła. Standard nie wspomina wyraźnie tej reguły jako sekcji lub akapitu, więc co dokładnie wchodzi w zakres tej reguły? Dla mnie wygląda to na szary obszar, który nie jest szczegółowo zdefiniowany przez standard. Czy ktoś może rozwinąć szczegóły powołujące się na odniesienia ze standardu.

Uwaga: Oznaczanie tego jako C i C ++, ponieważ dotyczy obu języków.

questionAnswers(2)

yourAnswerToTheQuestion