Now I am learning C++ programming. I didn't understand the distinction between expression, definition, declaration, and definition.
As Wikipedia says,
In "Statement(computer science)"
In most languages, statements contrast with expressions in that statements do not return results and are executed solely for their side effects, while expressions always return a result and often do not have side effects at all.
In "Expression(Computer Science)" page
In many programming languages a function, and hence an expression containing a function, may have side effects. An expression with side effects does not normally have the property of referential transparency. In many languages (e.g. C++), expressions may be ended with a semicolon (;) to turn the expression into an expression statement. This asks the implementation to evaluate the expression for its side-effects only and to disregard the result of the expression (e.g. "x+1;") unless it is a part of an expression statement that induces side-effects (e.g. "y=x+1;" or "func1(func2());"). Caveats
Concretely, What do "side effects" and "result" mean here?
Help me, C++ Geeks!