functors เป็นวัตถุฟังก์ชั่นใน C ++ functor อนุญาตให้วัตถุอินสแตนซ์ของคลาสบางคลาสถูกเรียกราวกับว่ามันเป็นฟังก์ชันธรรมดา ให้เราพิจารณาฟังก์ชันที่รับหนึ่งอาร์กิวเมนต์ เราสามารถใช้ฟังก์ชันนี้เป็นออบเจกต์ฟังก์ชันเพื่อทำงานบางอย่างกับชุดข้อมูลได้
โค้ดตัวอย่าง
#include <iostream>
#include <algorithm>
using namespace std;
int square(int x) {
return x*x; //return square of x
}
int main() {
int data[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
transform(data, data+10, data, square);
for (int i = 0; i<10; i++)
cout << data[i] << endl;
} ผลลัพธ์
0 1 4 9 16 25 36 49 64 81