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

Hàm map::emplace_hint() 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::emplace_hint() 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::emplace_hint() là gì?

map::emplace_hint() là hàm nằm trong header . Hàm này xây dựng và chèn một phần tử với gợi ý (hint) vào container map liên hợp.

emplace_hint() chèn phần tử mới nếu khóa của phần tử cần chèn là duy nhất. Việc chèn chỉ xảy ra nếu không có phần tử nào với khóa của giá trị cần chèn.

Cú pháp

map_name.emplace_hint(iterator it, Args&& args);

Tham số

Hàm chấp nhận các tham số sau:

it – Iterator có thể coi là gợi ý vị trí của phần tử cần chèn.

args – Các đối số hoặc giá trị mà ta muốn emplaced tại vị trí "it".

Giá trị trả về

Nếu chèn thành công, hàm trả về iterator trỏ đến phần tử mới chèn. Ngược lại trả về iterator đến giá trị tương đương đã có trong container.

Ví dụ

Đầu vào

map<char, int> newmap; emplace_hint(newmap.end(), 'a', 1);

Đầu ra

a

Ví dụ hoàn chỉnh

#include <bits/stdc++.h> using namespace std; int main() {    map<int, int> TP_Map;    TP_Map.emplace_hint(TP_Map.begin(), 4, 50);    TP_Map.emplace_hint(TP_Map.begin(), 2, 30);    TP_Map.emplace_hint(TP_Map.begin(), 1, 10);    cout<<"TP Map là: \n";    cout << "KHOÁ\tGIÁ TRỊ\n";    for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++)       cout << i->first << "\t" << i->second << endl;    return 0; }

Kết quả

TP Map là: KHOÁ   GIÁ TRỊ 1     10 2     30 4     50