Functional Programming in C++ by Ivan Čukić
Author:Ivan Čukić
Language: eng
Format: epub, pdf
ISBN: 9781617293818
Published: 2018-10-26T16:00:00+00:00
② …but the output is "Smith, John".
The problem is that you’re now storing references to the strings you need to concatenate. If the strings change between the point where you created the expression (the declaration of the fullname variable) and the point where you’re required to compute the result (writing fullname to the standard output), you’ll get an unexpected result. Changes to the strings made after you think you concatenated them will be reflected in the result string.
This is an important thing to keep in mind: in order to work as expected, laziness requires purity. Pure functions give you the same result whenever you call them with the same arguments. And that’s why you can delay executing them without any consequences. As soon as you allow side effects such as changing a value of a variable to influence the result of your operation, you’ll get undesired results when trying to make it execute lazily.
Expression templates let you generate structures that represent a computation instead of immediately calculating that expression. This way, you can choose when the computation will take place; you can change the normal order in which C++ evaluates expressions and transform the expressions any way you want.2
2 If you need to build and transform more-complex expression trees, check out the Boost.Proto library at http://mng.bz/pEqP.
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Ada | Ajax |
Assembly Language Programming | Borland Delphi |
C & C++ | C# |
CSS | Compiler Design |
Compilers | DHTML |
Debugging | Delphi |
Fortran | Java |
Lisp | Perl |
Prolog | Python |
RPG | Ruby |
Swift | Visual Basic |
XHTML | XML |
XSL |
Hello! Python by Anthony Briggs(9911)
OCA Java SE 8 Programmer I Certification Guide by Mala Gupta(9794)
The Mikado Method by Ola Ellnestam Daniel Brolund(9775)
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(8292)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(7775)
Test-Driven iOS Development with Swift 4 by Dominik Hauser(7758)
Grails in Action by Glen Smith Peter Ledbrook(7693)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(7557)
Windows APT Warfare by Sheng-Hao Ma(6782)
Layered Design for Ruby on Rails Applications by Vladimir Dementyev(6510)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(6409)
Blueprints Visual Scripting for Unreal Engine 5 - Third Edition by Marcos Romero & Brenden Sewell(6378)
Kotlin in Action by Dmitry Jemerov(5061)
Hands-On Full-Stack Web Development with GraphQL and React by Sebastian Grebe(4315)
Functional Programming in JavaScript by Mantyla Dan(4037)
Solidity Programming Essentials by Ritesh Modi(3976)
WordPress Plugin Development Cookbook by Yannick Lefebvre(3761)
Unity 3D Game Development by Anthony Davis & Travis Baptiste & Russell Craig & Ryan Stunkel(3705)
The Ultimate iOS Interview Playbook by Avi Tsadok(3680)
