> On Nov 16, 2018, at 5:33 PM, Sven Barth via fpc-pascal > <fpc-pascal@lists.freepascal.org> wrote: > > When a function contains at least one anonymous function then a capture > object is created which is shared by all anonymous functions in the function > and also all captured local variables are moved there. If there is no > variable to capture the capture object is nevertheless created.
But is it an object on the heap with reference counting? I read a number of articles on Lambda support in c++ and they seem to think in *some* instances the compiler can inline the lambda and see no speed penalty but they depends on it not being passed outside of the declaring scope. c++ may get away with this because you need to manually request captured variables. Regards, Ryan Joseph _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal