Listing 3: The functions _new and _delete

void* _new(long size // number of bytes to allocate
          )
  // Returns a pointer to a block of memory allocated off
  // of the heap which is size bytes long.

void _delete(void* p // pointer to thing to be deleted
            )
  // Frees the block of memory pointed to by p. p must
  // point to a block of memory that was previously allocated
  // with _new. _delete-ing a NULL pointer, however, is harmless.