Is it a standard term which is well defined, or just a term coined by developers to explain a concept (.. and what is the concept)? As I understand this has something to do with the all-confusing sequence points, but am not sure.

I found one definition here, but doesn't this make each and every statement of code a side effect?

A side effect is a result of an operator, expression, statement, or function that persists even after the operator, expression, statement, or function has finished being evaluated.

Can someone please explain what the term 'side effect' formally means in C++, and what is its significance?

For reference, some questions talking about side effects:

  1. Is comma operator free from side effect?
  2. Force compiler to not optimize side-effect-less statements
  3. Side effects when passing objects to function in C++
Edit
Report