Rumah >pembangunan bahagian belakang >C++ >Bilakah `goto` Berguna dalam C atau C untuk Pembersihan?
Kegunaan Baik Goto dalam C atau C
Bertentangan dengan penegasan "Goto Dianggap Memudaratkan," pernyataan goto masih memegang nilai dalam senario pengaturcaraan tertentu. Soalan ini meneroka contoh penggunaan goto yang berkesan dalam C atau C .
Blok Pembersihan
Satu kes penggunaan yang ketara untuk goto adalah untuk mengendalikan blok pembersihan dalam C. Apabila berbilang operasi mesti dilakukan mengikut turutan, dan sebarang kegagalan memerlukan pembersihan terkawal bagi operasi sebelumnya, pernyataan goto memberikan ringkasan dan eksplisit cara untuk mengendalikan perkara ini:
void foo() { if (!doA()) goto exit; if (!doB()) goto cleanupA; if (!doC()) goto cleanupB; /* everything has succeeded */ return; cleanupB: undoB(); cleanupA: undoA(); exit: return; }
Pendekatan ini membolehkan pengendalian senario ralat yang jelas dan tersusun serta memastikan sebarang operasi pembersihan yang diperlukan dilaksanakan sebelum keluar dari fungsi.
Atas ialah kandungan terperinci Bilakah `goto` Berguna dalam C atau C untuk Pembersihan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!