- Learning C++ Functional Programming
- Wisnu Anggoro
- 382字
- 2021-07-02 20:51:33
What this book covers
Chapter 1, Diving into Modern C++, provides an overview of modern C++, including the implementation of several new features in modern C++, such as the auto keyword, decltype keyword, null pointer, range-based for loop, standard template library, Lambda expressions, smart pointer, and tuple.
Chapter 2, Manipulating Functions in Functional Programming, covers the essential techniques in functional programming to manipulate a function; they are the first-class function technique, pure function, and currying technique. By applying the first-class function, we can treat our function as a data, which means it can be assigned to any variable instead of only being invoked as function. We also will apply the pure function technique so the function won't produce the side effect anymore. Moreover, to simplify the function, we can apply currying techniques, which will reduce the multiple arguments function by evaluating a sequence of functions with a single argument in each function.
Chapter 3, Applying Immutable State to the Function, explains how we implement the immutable object for the mutable object. We will also delve into first-class functions and pure functions, which we discussed in the previous chapter, to produce an immutable object.
Chapter 4, Repeating Method Invocation Using Recursive Algorithm, discusses the difference between iteration and recursion and why recursion techniques are better for functional programming. We will also enumerate the three kinds of recursion: functional, procedural, and backtracking recursion.
Chapter 5, Procrastinating the Execution Process Using Lazy Evaluation, explains how to delay the process of execution to get more efficient code. We will also implement caching and memoization techniques to make our code run faster.
Chapter 6, Optimizing Code with Metaprogramming, talks about running code with compile-time execution by using metaprogramming to optimize code. We will also discuss how to refactor flow control into template metaprogramming.
Chapter 7, Running Parallel Execution Using Concurrency, walks us through running multiple threads in C++ programming, as well as synchronizing threads to avoid deadlocks. We will also apply thread processing in a Windows operating system.
Chapter 8, Creating and Debugging Application in Functional Approach, elaborates all the techniques we discussed in the previous chapters to design a functional programming. Also, we will try to debug code to find a solution if there are unexpected results or the program crashes in the middle of execution.
- 潮流:UI設(shè)計必修課
- C#程序設(shè)計教程
- JavaScript+Vue+React全程實(shí)例
- C++面向?qū)ο蟪绦蛟O(shè)計習(xí)題解答與上機(jī)指導(dǎo)(第三版)
- Mastering JavaScript High Performance
- Procedural Content Generation for C++ Game Development
- C專家編程
- Drupal Search Engine Optimization
- Java Web開發(fā)基礎(chǔ)與案例教程
- Wearable:Tech Projects with the Raspberry Pi Zero
- Blender 3D Cookbook
- 基于JavaScript的WebGIS開發(fā)
- 讀故事學(xué)編程:Python王國歷險記
- Spring Boot學(xué)習(xí)指南:構(gòu)建云原生Java和Kotlin應(yīng)用程序
- Flask Web開發(fā)實(shí)戰(zhàn):入門、進(jìn)階與原理解析