ryan at thealchemistguild.com
Fri Nov 16 12:56:43 CET 2018
> On Nov 16, 2018, at 5:33 PM, Sven Barth via fpc-pascal <fpc-pascal at 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.
More information about the fpc-pascal