title: How does the compiler/program deduces the size of memory to be deleted(released) in case of delete[] arr;
body: <p>When using <code>operator new</code>  we explicitly provide the size of memory to be allocated:    </p>
  
  <pre><code>int* arr = new int[100];
  </code></pre>
  
  <p>But when deleting, we just type <code>delete []arr;</code><br>
  How does the compiler/program calculates the size of arr, as we provide no information about it to <code>operator delete?</code></p>