title: What does freeing memory mean? Does it mean setting all bits to zeros?
body: <p>I directly started with managed languages and have barely any experience with C++, hence this question might be too basic.</p>
  
  <p>In a managed language like .net, GC frees the memory. From what I read, in C++ this is done by calling delete. But what does it do to free memory? Does it it set all the bits at a memory location to zero? Or does it in some other way tell the operating system that the memory is available for reuse?</p>
  
  <p>Update:
  I have been thru <a href="http://www.youtube.com/watch?v=rp8PvFvSO_c" rel="nofollow">this</a> before and I know what GC does. But thats not my question. I am not trying to ask how GC works. What I am trying to understand is, how do you tell some memory is free?  </p>