-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
  • 496,577
  • 130
  • 894
  • 1,212
101010
  • 41,839
  • 11
  • 94
  • 168

1 Answers1

6

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
  • 32,156
  • 3
  • 71
  • 65