On Monday, 5 June 2017 at 13:16:43 UTC, ketmar wrote:
Patric Dexheimer wrote:
https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
Is possible to use Label as Values in D?
Or there is a way to do dynamic goto statements?
Ps: This is out of curiosity / performance reasons. I know the
potential of bad design / ugly code ;)
as we have nested functions, you can just initialize a table
with function pointers, and use it instead of computed goto.
this is way more powerful trick, as you can actually use any
selector you want, in any way you want, and still have the
speed of computed goto (most of the time).
That´s nice, I take a look with compiler explorer and it indeed
create a jump instead of a call. Not sure if fast as goto, w´ll
have to benchmark it :)