   VC++ debug and new
  When using new, VC++ allocates additonal space at the start and end of the memory requested in debug mode. So if an app writes past the end of the block you get an assertion fail when delete is called.Is there any way to switch this off? Id rather just have an exception generated immidatly.Thanks for your help 
  IIRC writing past the end of your block doesn''t generate an exception. ;  Writing past the end of allocated memory (or before the start of it ISTR) causes an assertion to fail when you free the memory. If you want to have an exception thrown immediately, you could write your own new and delete functions, and use VirtualAlloc to allocate the memory (only in debug mode mind), and use VirtualProtect to make the data past the end unreadable and unwritable. Although it might be a it overkill Apart from that - No, not without writing your own new and delete functions. ;  Thanks! 