Heim >Backend-Entwicklung >C++ >Was sind die häufig verwendeten STL-Funktionsobjekte in der C++-Standardbibliothek?

Was sind die häufig verwendeten STL-Funktionsobjekte in der C++-Standardbibliothek?

王林
王林Original
2024-04-25 13:06:02465Durchsuche

C++ STL bietet eine Vielzahl von Funktionsobjekten, die zum Vergleichen, Sortieren und Bedienen von Elementen verwendet werden können. Zu den gängigen Funktionsobjekten gehören „less“ für aufsteigende Sortierung, „great“ für absteigende Sortierung, „equal_to“ für den Gleichheitsvergleich sowie „bind2nd“ und „mem_fn“ für die Bindung von Funktionsparametern. In der Praxis können Sie ein Array mithilfe des größeren Funktionsobjekts wie folgt in absteigender Reihenfolge sortieren: Mit der Funktion sort() sortiert das größere Funktionsobjekt die Elemente im angegebenen Bereich in absteigender Reihenfolge.

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

Häufig verwendete STL-Funktionsobjekte in der C++-Standardbibliothek

Funktionsobjekte, nämlich Functor, sind Objekte, die aufgerufen werden können und Ergebnisse zurückgeben. Die C++-Standardbibliothek stellt viele nützliche STL-Funktionsobjekte bereit, die für eine Vielzahl von Algorithmen und Operationen verwendet werden können.

Im Folgenden sind einige häufig verwendete Funktionsobjekte in C++ STL aufgeführt:

  • less: Vergleichsfunktion zum Sortieren von Elementen (aufsteigende Reihenfolge).
  • größer: Vergleichsfunktion zum Sortieren von Elementen (absteigende Reihenfolge).
  • equal_to: Gleiche Vergleichsfunktion, mit der überprüft wird, ob zwei Elemente gleich sind.
  • not_equal_to: Ungleich-Vergleichsfunktion, mit der überprüft wird, ob zwei Elemente ungleich sind.
  • greater_equal: Größer-gleich-Vergleichsfunktion, mit der überprüft wird, ob ein Element größer oder gleich einem anderen Element ist.
  • less_equal: Kleiner-gleich-Vergleichsfunktion, mit der überprüft wird, ob ein Element kleiner oder gleich einem anderen Element ist.
  • bind2nd: Bindet einen Parameter des Funktionsobjekts und gibt das gebundene Funktionsobjekt zurück.
  • mem_fn: Erstellen Sie ein Funktionsobjekt, das ein Funktionsobjekt aus einem Mitgliedsfunktionszeiger erstellt.

Praktischer Fall:

Verwenden Sie das Funktionsobjekt greater, um das Ganzzahl-Array in absteigender Reihenfolge zu sortieren:

#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;
}

Ausgabe:

5 4 3 2 1

Das obige ist der detaillierte Inhalt vonWas sind die häufig verwendeten STL-Funktionsobjekte in der C++-Standardbibliothek?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn