Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah objek fungsi STL yang biasa digunakan dalam perpustakaan standard C++?

Apakah objek fungsi STL yang biasa digunakan dalam perpustakaan standard C++?

王林
王林asal
2024-04-25 13:06:02392semak imbas

C++ STL menyediakan pelbagai objek fungsi yang boleh digunakan untuk membandingkan, mengisih dan mengendalikan elemen. Objek fungsi biasa termasuk kurang untuk pengisihan menaik, lebih besar untuk pengisihan menurun, equal_to untuk membandingkan kesamaan dan bind2nd dan mem_fn untuk parameter fungsi mengikat. Dalam amalan, anda boleh mengisih tatasusunan dalam tertib menurun dengan menggunakan objek fungsi yang lebih besar, seperti berikut: Menggunakan fungsi sort(), objek fungsi yang lebih besar akan mengisih elemen dalam julat yang ditentukan dalam tertib menurun.

C++ 标准库中有哪些常用的 STL 函数对象?

Objek fungsi STL yang biasa digunakan dalam perpustakaan standard C++

Objek fungsi iaitu Functor ialah objek yang boleh dipanggil dan mengembalikan hasil. Pustaka standard C++ menyediakan banyak objek fungsi STL berguna yang boleh digunakan untuk pelbagai algoritma dan operasi.

Berikut ialah beberapa objek fungsi yang biasa digunakan dalam C++ STL:

  • less: Fungsi perbandingan yang digunakan untuk mengisih unsur (tertib menaik).
  • lebih hebat: Fungsi perbandingan digunakan untuk mengisih elemen (tertib menurun).
  • equal_to: Fungsi perbandingan yang sama, digunakan untuk menyemak sama ada dua elemen adalah sama.
  • not_equal_to: Fungsi perbandingan tidak sama, digunakan untuk menyemak sama ada dua elemen tidak sama.
  • greater_equal: Lebih besar daripada atau sama dengan fungsi perbandingan, digunakan untuk menyemak sama ada sesuatu elemen lebih besar daripada atau sama dengan elemen lain.
  • less_equal: Kurang daripada atau sama dengan fungsi perbandingan, digunakan untuk menyemak sama ada satu elemen kurang daripada atau sama dengan elemen lain.
  • bind2nd: Mengikat parameter objek fungsi dan mengembalikan objek fungsi terikat.
  • mem_fn: Cipta objek fungsi yang mencipta objek fungsi daripada penuding fungsi ahli.

Kes praktikal:

Gunakan objek fungsi greater untuk mengisih tatasusunan integer dalam tertib menurun:

#include <algorithm>
#include <vector>

using namespace std;

int main() {
  vector<int> myVector = {1, 3, 5, 2, 4};

  // 使用 greater 函数对象对 myVector 中的元素进行降序排序
  sort(myVector.begin(), myVector.end(), greater<int>());

  // 输出排序后的数组
  for (auto it = myVector.begin(); it != myVector.end(); ++it) {
    cout << *it << " ";
  }
  cout << endl;

  return 0;
}

Output:

5 4 3 2 1

Atas ialah kandungan terperinci Apakah objek fungsi STL yang biasa digunakan dalam perpustakaan standard C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn