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