C++:ssa purkamisongelmaa voidaan kiertää tekemällä kustakin tiedostosta ja varattavasta muistityypistä oma luokkansa, jonka hajottajaa sitten kutsutaan automaattisesti funktiosta poistuttaessa. Kukin muuttuja (esim. tiedostoluokan ilmentymä) esitellään vasta kun sitä tarvitaan. Näin jos funktiosta poistutaan return-lauseella kesken kaiken, ei pureta muita kuin ne rakenteet, jotka on jo ehditty alustaa.