Learn how a functor is implemented as a class that overloads the function call operator. This is useful for carrying persistent data along with a function.
- [Instructor] A functor is simply a class with…an operator overload for the function called operator.…We've talked about this elsewhere,…so here's a quick overview for the purposes of this chapter.…Here I have a working copy of functor.cpp…from chapter five of the exercise files.…You'll notice this class definition here,…it's a template class with a template type of T.…It keeps a multiplier,…and you can set or get the multiplier.…There's a constructor that takes the multiplier,…and then there's a functor, which is this…operator overload for the function called operator,…which returns the multiplier times the operad…passed to the functor.…
So very simple, very straight forward.…But it gets to carry forward information,…carry forward data by virtue of the fact…that it's a class and not a function.…So here we have an instance of this class…of type int, it's called X…we construct it with a nine for the multiplier…and then we change it later on to a seven multiplier,…and when I build and run…you can see we get multiples of nine,…
Author
Released
12/20/2018- Template fundamentals
- STL containers
- Accessing iterators
- Output, forward, and bidirectional iterators
- The transform function
- Transforming strings and types
- Arithmetic, relational, and logical functions
- STL algorithms
Skill Level Intermediate
Duration
Views
Related Courses
-
Learning C++
with Erin Colvin2h 26m Beginner -
Learning C++ Pointers
with Peggy Fisher53m 55s Intermediate
-
Introduction
-
1. Templates
-
What is a template?4m 43s
-
Template syntax1m 48s
-
Template specialization1m 49s
-
Template variables4m 14s
-
Impact on header files3m 13s
-
Type inference6m 45s
-
Argument deduction3m 15s
-
-
2. STL Containers
-
3. STL Iterators
-
Accessing iterators2m 28s
-
Input iterators2m 2s
-
Output iterators1m 27s
-
Forward iterators1m 58s
-
Bidirectional iterators1m 59s
-
Random access iterators2m 2s
-
-
4. Transformations
-
The transform function5m 28s
-
Lambda transformations4m 23s
-
Transforming strings2m 49s
-
Binary transformations3m 7s
-
Transforming types3m 3s
-
-
5. STL Functions
-
About functors1m 46s
-
Arithmetic functors2m 10s
-
Relational functors3m 13s
-
Logical functors1m 31s
-
-
6. STL Algorithm
-
About STL algorithms1m 42s
-
Testing conditions2m 36s
-
Searching and counting4m 38s
-
Replacing and removing4m 14s
-
Modifying algorithms5m 46s
-
Partitions2m 52s
-
Sorting3m 42s
-
Merging sequences2m 4s
-
Binary searches3m 57s
-
-
Conclusion
-
Goodbye1m 29s
-
- 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: About functors