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

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

map::get_allocator() là hàm nằm trong header . Hàm get_allocator() dùng để lấy đối tượng allocator liên kết với container map. Hàm này trả về bản sao của đối tượng allocator của map đã cho.

Cú pháp

map_name.get_allocator();

Tham số

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

Giá trị trả về

Trả về đối tượng allocator của map.

Ví dụ

#include <bits/stdc++.h> using namespace std; int main() {    map<int, int> TP;    map<int, int>::allocator_type tp = TP.get_allocator();    cout << "Kiểm tra allocator Pair<int, int>: " <<    boolalpha << (tp == allocator<pair<int, int> >());    return 0; }

Kết quả

Kiểm tra allocator Pair<int, int>: true

Ví dụ khác

#include <bits/stdc++.h> using namespace std; int main(void) {    map<char, int> TP;    pair<const char, int>* TP_pair;    TP_pair = TP.get_allocator().allocate(5);    cout<<"Kích thước sau cấp phát là: " << sizeof(*TP_pair) * 5 << endl;    return 0; }

Kết quả

Kích thước sau cấp phát là: 40