Stellt der Aufruf von E/A-Funktionen ein beobachtbares Verhalten dar?C++

Programme in C++. Entwicklerforum
Anonymous
 Stellt der Aufruf von E/A-Funktionen ein beobachtbares Verhalten dar?

Post by Anonymous »

[intro.abstract] p8 sagt:

Das Folgende spezifiziert das beobachtbare Verhalten des Programms:


[*]Zugriffe über flüchtige GL-Werte werden streng nach den Regeln der abstrakten Maschine ausgewertet.
Daten werden an die Host-Umgebung geliefert, um in Dateien geschrieben zu werden (siehe auch: ISO/IEC 9899:2024, 7.23.3) wird nicht als beobachtbares Verhalten angesehen.
Betrachten Sie dieses Beispiel:

Code: Select all

int main(){
auto t = network_request(); // #1
}
Erstens hat der Aufruf der IO-Bibliothek Nebenwirkungen gemäß [intro.execution] p7:

Das Lesen eines durch einen flüchtigen glvalue ([basic.lval]) bezeichneten Objekts, das Ändern eines Objekts, das Erstellen einer injizierten Deklaration ([expr.const]), das Aufrufen einer Bibliotheks-E/A-Funktion oder das Aufrufen einer Funktion, die eine dieser Operationen ausführt, sind alles Nebenwirkungen

Nebenwirkungen sind jedoch kein beobachtbares Verhalten, da sie nicht in der Liste enthalten sind. Bedeutet das also, dass eine konforme Implementierung den Aufruf von network_request gemäß der „als-ob“-Regel eliminieren kann? Das heißt, das gesamte Programm ist ein No-Op, da Aufrufe von E/A-Funktionen, die nicht die in [intro.abstract] p8 aufgeführten Dinge betreffen, kein beobachtbares Verhalten sind und die konforme Implementierung die Struktur nicht gemäß der „Als-ob“-Regel emulieren muss:

Die semantischen Beschreibungen in diesem Dokument definieren eine parametrisierte nichtdeterministische abstrakte Maschine. Dieses Dokument stellt keine Anforderungen an die Struktur konformer Implementierungen. Insbesondere müssen sie nicht kopiert oder kopiert werden emulieren die Struktur der abstrakten Maschine. Vielmehr sind konforme Implementierungen erforderlich, um (nur) das beobachtbare Verhalten der abstrakten Maschine zu emulieren, wie unten erläutert.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post