-
An expression asks the implementation to compute something. The computation yields a result, and may also have side effects that is, it may affect the state of the program or the implementation in ways that are not directly part of the result.
-
For example, 3+4 is an expression that yields 7 as its result, and has no side effects, and
std::cout << "Hello, world!" << std::endl
is an expression that, as its side effect, writes Hello, world! On the standard output stream and ends the current line.