Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

An unsafe macro function is one that evaluates a parameter more than once in the code expansion, or never evaluates the parameter at all. Never invoke an unsafe macro with arguments containing an assignment, increment, decrement, volatile access, input/output, or other side effects (including function calls, which may cause side effects).

...

One problem with unsafe macros is side effects on macro arguments, as shown by this non-compliant code example.

...