Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2007-11-02 19:05:52

Mike Tegtmeyer:

> The counter argument that I hear from not-new folks however is that it
> takes some work to not leak the resource during an exception in the
> shared_ptr construction. Therefore, the ugliness to maintain integrity
> diminishes it's usefulness. ie
> FILE *in = fopen(...);
> if(!in)
> return/throw badness;
> //may throw here, 'in' is lost
> shared_ptr<FILE> fin(in,fclose);

The answer here is much, much easier. 'in' will not be lost. shared_ptr does
invoke the deleter when the constructor throws.

Boost list run by bdawes at, gregod at, cpdaniel at, john at