C STL 中提供了多種函數對象,可用於對元素進行比較、排序和操作。常見的函數物件包括用於升序排序的 less,用於降序排序的 greater,用於比較相等的 equal_to,以及用於綁定函數參數的 bind2nd 和 mem_fn。在實務中,可以透過使用 greater 函數物件對陣列進行降序排序,如下所示:利用 sort() 函數,greater 函數物件將對指定範圍內的元素進行降序排序。
C 標準庫中常用的STL 函數物件
函數對象,即Functor,是一種可以被呼叫並傳回結果的對象。 C 標準函式庫中提供了許多有用的 STL 函數對象,可用於各種演算法和操作。
以下是C STL 中的一些常用函數物件:
實戰案例:
使用greater
函數物件對整數陣列進行降序排序:
#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; }
輸出:
5 4 3 2 1
以上是C++ 標準函式庫中有哪些常用的 STL 函式物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!