▲ | adgjlsfhk1 8 months ago | |
RAII only helps with 1 of 4 primary cases of safety. RAII deals (badly) with temporal safety, but not spacial safety (bounds errors etc), safe initialization (use before initialization), or undefined behavior (overflow/underflow, aliasing, etc). | ||
▲ | badmintonbaseba 7 months ago | parent | next [-] | |
Use-after-free (or reference/iterator invalidation in general) is the main issue. RAII doesn't help there at all. RAII helps with deterministically cleaning up resources, which is important, but barely related to safety. | ||
▲ | AnimalMuppet 7 months ago | parent | prev | next [-] | |
How does RAII not help with safe initialization? It's right in the name. | ||
▲ | moralestapia 7 months ago | parent | prev [-] | |
>RAII deals (badly) with temporal safety >safe initialization (use before initialization) These two are solved by proper use of RAII. But you have a point with UB. That's always been an issue, though, it's part of the idiosyncrasies of C/C++; all languages have their equivalent of UB. |