3 ms·
I cannot write an abstraction in C, which closes a file handle automatically. That is what the author complains about. In C++ you can do that.
by qznc 11y ago
I cannot write an abstraction in C, which closes a file handle automatically. That is what the author complains about. In C++ you can do that.
- quesera 11y ago> I cannot write an abstraction in C, which closes a file handle automatically. Of course you can. It's just a question of convenience, and whether the resulting style would align with idiomatic C. In my imagined implementation, it would look more like awkward JavaScript. There are many many C codebases that are internally consistent but don't look much like textbook C. Sometimes C is the best choice even when it's less convenient.
- EmanueleAina 11y agoTo some extents, it depends on the definition of C: by the standard, you're right, you can't. But with some relatively common (GCC and clang) extension (ie. __attribute__((cleanup))) you definitely can, see g_autoptr() from GLib for an easy way to use it: https://blogs.gnome.org/desrt/2015/01/30/g_autoptr/ https://blogs.gnome.org/desrt/2015/01/30/g_autoptr/