The Standard defines a side effect as a change in the state of the execution environment. Modifying an object, accessing a volatile object, invoking a library I/O function, or calling a function that does any of these operations are all side effects.