> 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

Reply via email to