首頁(yè) > 計(jì)算機(jī)網(wǎng)絡(luò) >
編程語(yǔ)言與程序設(shè)計(jì)
> Learning C++ Functional Programming最新章節(jié)目錄
目錄(145章)
倒序
- cover
- Title Page
- Copyright
- Learning C++ Functional Programming
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images of this book
- Errata
- Piracy
- Questions
- Diving into Modern C++
- Getting closer with several new features in modern C++
- Defining the data type automatically using the auto keyword
- Querying the type of an expression using the decltype keyword
- Pointing to a null pointer
- Returning an iterator using non-member begin() and end() function
- Iterating over collections using range-based for loops
- Leveraging the use of C++ language with the C++ Standard Libraries
- Placing any objects in the container
- Using algorithms
- Simplifying the function notation using a Lambda expression
- Using the Lambda expression for a tiny function
- Using the Lambda expression for multiline functions
- Returning a value from the Lambda expression
- Capturing a value to the Lambda expression
- Preparing the value using initialization captures
- Writing a generic Lambda expression to be used many times with many different data types
- Avoiding manual memory management with smart pointers
- Replacing a raw pointer using unique_ptr
- Sharing objects using shared_ptr
- Tracking the objects using a weak_ptr pointer
- Storing many different data types using tuples
- Unpacking tuples values
- Returning a tuple value type
- Summary
- Manipulating Functions in Functional Programming
- Applying the first-class function in all functions
- Passing a function as another function's parameter
- Assigning a function to a variable
- Storing a function in the container
- Creating a new function from the existing functions at runtime
- Getting acquainted with three functional techniques in the higher-order function
- Executing each element list using map
- Extracting data using filter
- Combining all elements of a list using fold
- Avoiding the side effect with pure function
- Reducing a multiple arguments function with currying
- Summary
- Applying Immutable State to the Function
- Understanding the essential part from immutable object
- Modifying a local variable
- Modifying a variable passed into a function
- Preventing the modification of a value
- Applying the first-class function and the pure function to the immutable object
- Developing the immutable object
- Starting with a mutable object
- Refactoring a mutable object into an immutable one
- Enumerating the benefits of being immutable
- Summary
- Repeating Method Invocation Using Recursive Algorithm
- Repeating the function invocation recursively
- Performing the iteration procedure to repeat the process
- Performing the recursion procedure to repeat the process
- Recurring the immutable function
- Getting closer to tail recursion
- Getting acquainted with functional procedural and backtracking recursion
- Expecting results from functional recursion
- Running a task recursively in procedural recursion
- Backtracking recursion
- Summary
- Procrastinating the Execution Process Using Lazy Evaluation
- Evaluating the expression
- Running the expression immediately with strict evaluation
- Delaying the expression with non-strict evaluation
- The basic concept of lazy evaluation
- Delaying the process
- Caching the value using the memoization technique
- Optimizing the code using the memoization technique
- Lazy evaluation in action
- Designing Chunk and Row classes
- Concatenating several rows
- Iterating each Row class' element
- Generating the infinite integer row
- Generating an infinite prime numbers row
- Refactoring eager evaluation to lazy evaluation
- Summary
- Optimizing Code with Metaprogramming
- Introduction to metaprogramming
- Preprocessing the code using a macro
- Dissecting template metaprogramming in the Standard Library
- Building the template metaprogramming
- Adding a value to the variable in the template
- Mapping a function to the input parameters
- Choosing the correct process based on the condition
- Repeating the process recursively
- Selecting a type in compile-time
- Flow control with template metaprogramming
- Deciding the next process by the current condition
- Selecting the correct statement
- Looping the process
- Executing the code in compile-time
- Getting a compile-time constant
- Generating the class using a compile-time class generation
- Benefits and drawbacks of metaprogramming
- Summary
- Running Parallel Execution Using Concurrency
- Concurrency in C++
- Processing a single threading code
- Processing a multithreading code
- Synchronizing the threads using mutex
- Avoiding synchronization issues
- Unlocking the variable automatically
- Avoiding deadlock using recursive mutex
- Understanding the thread processing in a Windows operating system
- Working with handle
- Refactoring to a unique handle
- Triggering an event
- Calling an event from a thread
- Summary
- Creating and Debugging Application in Functional Approach
- Preparing an imperative class
- Refactoring the imperative class to become a functional class
- Passing a function as a parameter
- Adding a base class
- Transforming the class to become pure
- Filtering the condition and implementing a Lambda expression
- Implementing recursion and memoization techniques to the Customer class
- Debugging the code
- Starting the debugging tool
- Continuing and stepping the debugging process
- Setting and deleting the breakpoint
- Printing the object value
- Summary 更新時(shí)間:2021-07-02 20:51:57
推薦閱讀
- Learning Java Functional Programming
- Hands-On Machine Learning with scikit:learn and Scientific Python Toolkits
- JavaScript+jQuery開(kāi)發(fā)實(shí)戰(zhàn)
- C++程序設(shè)計(jì)基礎(chǔ)教程
- Python漫游數(shù)學(xué)王國(guó):高等數(shù)學(xué)、線(xiàn)性代數(shù)、數(shù)理統(tǒng)計(jì)及運(yùn)籌學(xué)
- JavaScript入門(mén)經(jīng)典
- 精通MATLAB(第3版)
- Learning Probabilistic Graphical Models in R
- Quantum Computing and Blockchain in Business
- 21天學(xué)通C++(第5版)
- BeagleBone Robotic Projects(Second Edition)
- 分布式數(shù)據(jù)庫(kù)原理、架構(gòu)與實(shí)踐
- Visual Basic程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)及考試指南
- Java語(yǔ)言程序設(shè)計(jì)實(shí)用教程(第2版)
- Learning Puppet
- ASP.NET 4權(quán)威指南
- Python自動(dòng)化開(kāi)發(fā)實(shí)戰(zhàn)
- Visual FoxPro程序設(shè)計(jì)
- R Data Visualization Cookbook
- TensorFlow+Keras深度學(xué)習(xí)算法原理與編程實(shí)戰(zhàn)
- Java入門(mén)經(jīng)典
- Learning PowerShell DSC(Second Edition)
- 網(wǎng)頁(yè)設(shè)計(jì)理論與實(shí)踐
- iOS Application Development with OpenCV 3
- Python架構(gòu)模式:精通基于Python的API設(shè)計(jì)、事件驅(qū)動(dòng)架構(gòu)和包管理
- 數(shù)控編程技能培訓(xùn):Cimatron中文版
- DevOps和自動(dòng)化運(yùn)維實(shí)踐
- Java程序設(shè)計(jì)教程(第2版)
- HTML5 Video How-to
- 圖解CSS3:核心技術(shù)與案例實(shí)戰(zhàn)