- [Instructor] According to Wikipedia,…the factorial of a non-negative number, n,…is the product of all positive integers…less than or equal to n.…So, the factorial of five is equal to five times four…times three times two times one, or 120.…Let's see how to implement this…using template metaprogramming.…We have our include iostream, include vector,…using namespace std.…We have some commented out code…that's going to print the results,…but before we get to that let's first…write a regular C++ function,…and it's going to be recursive, to do factorials…so we get an idea of what it looks like…with something that's more familiar to us.…
We're going to say factorial const int input…const int sum, and we're going to get…sum a default value of one.…So if no sum is called it has a value of one…because one times anything is the number.…Then we're going to say if input is greater than one…we're going to return, and we're going to do a recursive call.…So we're going to call factorial,…and we're going to say input minus one.…
Author
Released
12/11/2018- Unit testing and functional programming
- Binding
- Function and Lambda functions
- C++ templates
- Working with the Standard Template Library and Boost.Hana
- Functional reactive programming
Skill Level Intermediate
Duration
Views
Related Courses
-
Learning Functional Programming with Swift
with Shaun Wassell53m 12s Intermediate -
Learning C++
with Erin Colvin2h 26m Beginner -
C++ Essential Training (2018)
with Bill Weinman5h 32m Intermediate -
C++: Advanced Topics
with Bill Weinman3h 15m Advanced
-
Introduction
-
1. Overview
-
2. Functional Programming in Modern C++
-
Enabling C++ 174m 24s
-
transform instead of map5m 30s
-
copy_if instead of filter2m 59s
-
accumulate instead of reduce2m 51s
-
bind4m 56s
-
Functions6m 54s
-
Lambda functions: Curry3m 38s
-
Lambda functions: Closures2m 20s
-
-
3. Template Metaprogramming
-
C++ templates4m 36s
-
Factorial5m 23s
-
Boost.Hana5m 31s
-
-
4. Functional Reactive Programming
-
RxCpp library5m 21s
-
Conclusion
-
Next steps41s
-
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.
CancelTake notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.
Share this video
Embed this video
Video: Factorial