Pomocí setjmp/longjmp
Nepoužívejte setjmp a longjmp v C++ programy; Tyto funkce nepodporují sémantiku jazyka C++ objektu.Také v C++ programy pomocí těchto funkcí může snížit výkon tím, že optimalizace na místní proměnné.Pomocí zpracování výjimek C++ try/catch místo konstrukce.
Pokud je nutné použít setjmp/longjmp v programu C++ interakce mezi těmito funkcemi a zpracování výjimek C++ vyžaduje, aby SETJMP.H nebo SETJMPEX.H.Destruktory pro místní objekty, bude volána během zásobníku unwind Pokud kompilace s /EH.Pokud kompilace s/EHs a jedna funkce volání funkce, která používá nothrow, a pokud, využívá funkce nothrow volání longjmp, destructor unwind pravděpodobně nenastane, v závislosti na optimalizace.
Také, pokud chcete, aby váš kód přenosný, nespoléhejte na správné likvidace objekty založené na snímku při provádění nemístní přejít pomocí volání longjmp.