3 ms·
Are you looking for "return"? With C++ you can ensure that you have your destructors do the tidy up, e.g. a messy example struct cleaner { cleaner(string *toC
by 72deluxe 10y ago
Are you looking for "return"?
With C++ you can ensure that you have your destructors do the tidy up, e.g. a messy example
struct cleaner { cleaner(string *toCleanup) : m_x(toCleanup) { } ~cleaner() { delete m_x; m_x = nullptr; } };
- ape4 10y agoYup, C++ has autocleanup. Of course if you are using fopen() instead something more modern you'll need to fclose(). Adding a new keywords to C is a long shot. Perhaps compilers could detect non-cleanup use of goto and give it a warning.
- int_19h 10y agoA typical C++ codebase I'm working on these days would have scope guards implemented via macros, such that you can do e.g.: FILE* f = fopen(...); SCOPE_GUARD({ fclose(f); }); This is mainly used for one-off calls to some native API, where writing a proper RAII wrapper for the managed resource is not worth it.