C++ 03 standard 1.9/6 definisce comportamento osservabile:Come sono correlati gli effetti collaterali e il comportamento osservabile in C++?
Il comportamento osservabile della macchina astratta è la sua sequenza di letture e scritture di dati volatili e chiede alla libreria funzioni di I/O.
e poi e poi 1,9/7 definisce effetti collaterali:
Accesso a un oggetto designato da un Ivalue volatile (3.10), modifica di un oggetto, chiamando un libreria di I/O Funzione, o chiamare una funzione che fa una di queste operazioni sono tutti gli effetti collaterali, che sono cambiamenti nello stato dell'ambiente di esecuzione.
È un effetto collaterale un comportamento osservabile o no? Come si relazionano tra loro?