Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm map::value_comp() trong C++ STL


Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm map::value_comp() trong C++ STL.

Map trong C++ STL là gì?

Map là container liên hợp, cho phép lưu trữ các phần tử được hình thành từ tổ hợp khóa (key) và giá trị ánh xạ (mapped value) theo một thứ tự xác định. Trong container map, dữ liệu luôn được sắp xếp nội bộ nhờ các khóa liên kết. Các giá trị trong map được truy xuất bằng khóa duy nhất của chúng.

map::value_comp() là gì?

map::value_comp() là hàm built-in trong C++ STL được khai báo trong header . Hàm value_comp() trả về một bản sao của đối tượng so sánh, được container map sử dụng để so sánh. Mặc định, đối tượng này là đối tượng của toán tử less-than, hoạt động tương tự như toán tử nhỏ hơn.

Đây là loại con trỏ hàm hoặc đối tượng hàm thực hiện so sánh hai giá trị cùng kiểu trong một tập hợp cụ thể và trả về true nếu phần tử đầu tiên nhỏ hơn phần tử thứ hai trong container, ngược lại trả về false.

Cú pháp

Map_name.value_comp();

Tham số

Hàm không chấp nhận tham số nào.

Giá trị trả về

Hàm trả về đối tượng so sánh của container set liên hợp.

Ví dụ

Đầu vào

map<char, int> newmap; newmap['a'] = 1; newmap['b'] = 2; newmap['c'] = 3; set<int>::value_compare cmp = myset.value_comp()

Đầu ra

1 2 3

Ví dụ hoàn chỉnh

#include <iostream> #include <map> using namespace std; int main() {    map<char, int> TP = {       { 'a', 10 },       { 'b', 20 },       { 'c', 30 },       { 'd', 40 },       { 'e', 50 },    };    auto temp = *TP.rbegin();    auto i = TP.begin();    cout <<"Các phần tử trong map là: \n";    do {       cout<< i->first << " = " << i->second<< endl;    } while (TP.value_comp()(*i++, temp));    return 0; }

Kết quả

Các phần tử trong map là: a = 10 b = 20 c = 30 d = 40 e = 50