Trong bài viết này, chúng ta sẽ thảo luận về hàm set::get_allocator() trong C++ STL, cú pháp, cách hoạt động và giá trị trả về.
Set trong C++ STL là gì?
Set trong C++ STL là container chứa các phần tử duy nhất theo thứ tự chung. Set bắt buộc các phần tử duy nhất vì giá trị của phần tử xác định bản thân phần tử. Một khi đã thêm giá trị vào set container thì sau đó không thể sửa đổi, tuy nhiên vẫn có thể xóa hoặc thêm giá trị vào set. Set được sử dụng như cây tìm kiếm nhị phân.
set::get_allocator() là gì?
get_allocator() là hàm built-in trong C++ STL, được định nghĩa trong header <set>. Hàm trả về bản sao của đối tượng allocator (bộ phân bổ) của set container liên kết. get_allocator() dùng để cấp phát các khối bộ nhớ cho set container.
Allocator là đối tượng chịu trách nhiệm cấp phát bộ nhớ động cho set container.
Cú pháp
Set1.get_allocator();
Tham số
Hàm không nhận tham số.
Giá trị trả về
Trả về allocator hoặc bản sao của allocator có đối tượng liên kết với hàm.
Ví dụ hoàn chỉnh
#include <iostream>
#include <set>
using namespace std;
void input(int* arr) {
for (int i = 0; i <= 5; i++)
arr[i] = i;
}
void output(int* arr) {
for (int i = 0; i <= 5; i++)
cout << arr[i] << " ";
cout << endl;
}
int main() {
set<int> mySet;
int* arr;
arr = mySet.get_allocator().allocate(6);
input(arr);
output(arr);
mySet.get_allocator().deallocate(arr, 6);
return 0;
}
Kết quả
0 1 2 3 4 5