-3

Consider the following piece of code:

int main() {
  int *i = nullptr;
  delete i;
}

Questions:

  1. Is deleting a null pointer considered undefined behaviour?
  2. Did something changed in C++11 or C++14?
Johannes Schaub - litb
  • 481,675
  • 123
  • 870
  • 1,191
101010
  • 40,441
  • 10
  • 90
  • 155

1 Answers1

5

Is deleting a NULL pointer in C++ considered undefined behaviour?

No, this is perfectly legal operation.

From N3242, [expr.delete]

the value of the operand of delete may be a null pointer value

AlexD
  • 31,231
  • 3
  • 67
  • 62