...

/

Functions and Function Objects

Functions and Function Objects

Let's take a look at the first two types of callables in C++.

Functions

Functions are the simplest callables. They can have - apart from static variables - no state. Because the definition of a function is often widely separated from its use or even in a different translation unit, the compiler has fewer opportunities to optimize the resulting code.

Press + to interact
#include <iostream>
#include <vector>
#include <algorithm>
void square(int& i) { i = i * i; }
int main(){
std::vector<int> myVec{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::for_each(myVec.begin(), myVec.end(), square);
for (auto v: myVec) std::cout << v << " "; // 1 4 9 16 25 36 49 64 81 100
return 0;
}

Function Objects

At first, don’t call them functors. That’s a well-defined term from the category theory.

Function ...

Access this course and 1400+ top-rated courses and projects.