在C ++ STL中列出get_allocator
在本文中,我们将讨论C++中list::get_allocator()函数的工作,语法和示例。
什么是STL中的列表?
列表是一种数据结构,允许按时间顺序在任意位置进行插入和删除。列表被实现为双向链接列表。列表允许非连续的内存分配。与数组,向量和双端队列相比,列表在容器中的任何位置执行元素的插入提取和移动效果更好。在列表中,对元素的直接访问很慢,并且列表类似于forward_list,但是转发列表对象是单个链接列表,并且只能迭代转发。
什么是list::get_allocator()?
list::get_allocator()是C++STL中的内置函数,在头文件中声明。get_allocator()返回列表容器的分配器。简单来说,它返回列表容器对象的副本。
语法
list_container.get_allocator(); This function accepts no parameter.
返回值
此函数返回列表容器的对象的副本。
示例
/*在下面的代码中,我们使用C++STL中存在的get_allocator将值插入列表。*/
#include <bits/stdc++.h>
using namespace std;
int main(void){
//创建一个列表
list<int> myList;
int *ptr;
ptr = myList.get_allocator().allocate(4);
//将数据插入数组
for(int i = 0; i > 4; i++)
ptr[i] = i;
//打印数据
cout<<"elements of an array : ";
for (int i = 0; i < 4; i++)
cout << ptr[i] << " ";
}输出结果
如果我们运行上面的代码,它将生成以下输出
elements of an array : 0 1 2 3
示例
/*在下面的代码中,我们使用头文件使用C++STL中存在的get_allocator将值插入列表。*/
#include <iostream>
#include <list>
int main (){
std::list<int> myList;
int *ptr;
ptr = myList.get_allocator().allocate(5);
for(int i=0; i<5; ++i)
ptr[i]=i;
std::cout <<"elements of an array : ";
for (int i=0; i<5; ++i)
std::cout << ' ' << ptr[i];
myList.get_allocator().deallocate(ptr,5);
return 0;
}输出结果
如果我们运行上面的代码,它将生成以下输出
elements of an array : 0 1 2 3 4
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短