3 ms·
It's a shame, actually i like C++11 and the new features but seeing the lambda is instantly pushing me away again: auto func = [] (std::complex <double> z, std
by buster 14y ago
It's a shame, actually i like C++11 and the new features but seeing the lambda is instantly pushing me away again:
auto func = [] (std::complex <double> z, std::complex<double> c) -> std::complex<double> {return z * z + c; };
Why isn't there some nicer and more readable syntax for some of that basic stuff?!
- sbmassey 14y agoYou can leave out the explicit return type. auto func = [] (std::complex<double> z, std::complex<double> c) { return z * z + c; }; You could also typedef the number type somewhere: typedef std::complex<double> Complex; // ... auto func = [] (Complex z, Complex c) { return z * z + c; }; I think that last one looks ok.
- creatio 14y agoI thought I've read somewhere that they are working for a lambda ala C# style. Can't find the paper though. Edit: I found the following links concerning this topic: http://root.cern.ch/drupal/content/c14 http://root.cern.ch/drupal/content/c14 http://isocpp.org/blog/2012/12/an-implementation-of-generic-lambdas-request-for-feedback-faisal-vali http://isocpp.org/blog/2012/12/an-implementation-of-generic-... And the paper: http://open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3418.pdf http://open-std.org/JTC1/SC22/WG21/docs/papers/2012/n3418.pd...
- deleted 14y ago[deleted]
- mikeash 14y agoMaybe we have different aesthetic objections, but isn't all of the ugliness in that example due to the templated std::complex class, and unrelated to lambdas? If you make a typedef first, it becomes considerably nicer: auto func = [](cdouble z, cdouble c) -> cdouble { return z * z + c; }