4 ms·
It certainly makes things more complex for the compiler. However, I don't know an example where it would prevent an optimization.
by qznc 12y ago
It certainly makes things more complex for the compiler. However, I don't know an example where it would prevent an optimization.
- veddan 12y agoIt's not just a matter of the compiler missing optimizations. Some (unsafe, low-level) algorithms have to be written differently (and less efficiently) because of the possibility of unwinding. Disallowed patterns typically look something like * Put an object in an invalid state * Perform some operation that might unwind * Fix the object again If you unwind while the object is in an invalid state, and its destructor is called during unwinding, you can end up with undefined behavior.