Sujet : Re: Opinions on `defer`?
De : janis_papanagnou+ng (at) *nospam* hotmail.com (Janis Papanagnou)
Groupes : comp.lang.cDate : 08. Jan 2025, 01:21:08
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vlkgdm$2eto3$1@dont-email.me>
References : 1
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
On 07.01.2025 01:35, Alexis wrote:
Hi all,
"Modern C" author Jens Gustedt has been posting on his blog about a
proposed `defer` feature (as provided by e.g. Zig and Go), the most
recent being:
https://gustedt.wordpress.com/2025/01/06/simple-defer-ready-to-use/
What do people here think about having such a feature in C?
(For C++, as the author also intended, it seems, IME, to not make much
sense.) For "C", inspecting the samples on that page, the most obvious
application case seems to me to be the heap allocations; there I first
had the question of how it would behave e.g. with 'realloc's. But more
importantly, it doesn't seem to match my typical applications of heap
allocations, which I regularly don't do with just a block scope - on
block scope I prefer stack allocations. Using heap objects I typically
pass the pointers across function call boundaries. So it doesn't seem
to be useful to me if the 'defer' feature controls just block scopes.
(And if, in a future version, it would control wider scopes then I'd
fear we'd just get a re-iteration of something like C-with-classes and
then C++.) Assuming that I'd want some 'defer' functionality I'd rather
use C++ instead (where I can use native C++ features for such) instead
a "new C [with 'defer']" release.
(BTW; I don't see any "abuse" potential with 'defer', as suggested in
other posts. Just little gain for few special cases.)
Janis