STL menyediakan berbilang fungsi yang menerima objek fungsi C++ sebagai parameter dan digunakan untuk mengendalikan koleksi atau melakukan transformasi tertentu. Fungsi ini termasuk: transform(): Mengubah elemen koleksi menggunakan objek fungsi yang ditentukan. for_each(): Melakukan operasi pada setiap elemen dalam koleksi, menggunakan objek fungsi yang ditentukan. sort(): Mengisih koleksi mengikut objek fungsi perbandingan yang ditentukan. find_if(): Cari elemen yang memenuhi syarat yang ditentukan (ditakrifkan oleh objek fungsi). count_if(): Mengira bilangan elemen yang memenuhi syarat yang ditentukan (ditakrifkan oleh objek fungsi).
Fungsi dalam STL yang boleh menggunakan objek fungsi C++
Terdapat beberapa fungsi dalam STL (Standard Template Library) yang boleh menerima objek fungsi C++ sebagai parameter. Fungsi ini biasanya digunakan untuk memanipulasi koleksi atau melakukan transformasi tertentu. Berikut ialah beberapa contoh biasa:
Kes praktikal
Contoh kod berikut menunjukkan cara menggunakan objek fungsi transform() untuk menukar nombor kepada rentetan:
#include <algorithm> #include <iostream> #include <vector> #include <string> using namespace std; int main() { // 创建一个数字向量 vector<int> numbers = {1, 2, 3, 4, 5}; // 定义一个将数字转换为字符串的函数对象 struct IntToString { string operator()(int num) const { return to_string(num); } }; // 使用 transform() 将数字向量转换为字符串向量 vector<string> strings; transform(begin(numbers), end(numbers), back_inserter(strings), IntToString()); // 打印字符串向量 for (const auto &str : strings) { cout << str << endl; } return 0; }
Dalam contoh ini, objek fungsi IntToString mentakrifkan fungsi yang menukar integer kepada rentetan operator(). Fungsi transform() menggunakan ini sebagai fungsi transformasi untuk menukar vektor berangka kepada vektor rentetan.
Atas ialah kandungan terperinci Fungsi manakah dalam STL boleh menggunakan objek fungsi C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!