Further observations regarding alloca on i586-pc-linux-gnu

Noel Yap nyap@garban.com
Wed Aug 26 05:20:00 GMT 1998


Martin von Loewis wrote:
> 
> > a) allocate heap memory inside the function. Disadvantage: needs
> >    explicite release.
> 
> I'd say auto_ptrs are there for you, no? Somebody correct me, but it
> seems that
> 
> void f(char * = std::auto_ptr<char*>(new char[20]));
> 
> is valid C++, and gives you memory that will live slightly longer than
> the call to f, and will then be automatically deallocated.
> 
> You did not say how long you need the memory: If you need automatic
> deallocation when the caller of f returns, you can return an auto_ptr
> from f.

How does it know when to deallocate the memory?

Noel



More information about the Gcc mailing list