Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Functor ใน C++

Functor หรือ Function Object ใน C++ คือ อินสแตนซ์ของคลาสที่สามารถเรียกใช้งานได้เหมือนฟังก์ชันทั่วไป โดยการโอเวอร์โหลดตัวดำเนินการ ()

พิจารณาฟังก์ชันที่รับอาร์กิวเมนต์หนึ่งตัว เราสามารถใช้เป็น Function Object เพื่อทำงานบนชุดข้อมูลได้

โค้ดตัวอย่าง

#include <iostream>
#include <algorithm>
using namespace std;

int square(int x) { return x * 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