欢迎光临散文网 会员登陆 & 注册

C/C++编程笔记:C++中的std :: get_temporary_buffer

2021-04-06 20:20 作者:C语言编程__Plus  | 我要投稿

获取一块临时内存。在C ++ STL库中,有一个函数get_temporary_buffer,该函数主要用于获取临时块。

该函数的大小为n,并返回最大大小为n的可用缓冲区,该缓冲区可以装入物理内存。

此函数用于获取临时性质的内存,该内存主要用于算法的操作,因为某些算法需要额外的空间才能正确执行。

一旦不再需要分配的存储块,则应通过调用return_temporary_buffer将其释放


句法:

pair(int*, ptrdiff_t) p = get_temporary_buffer(int)(required size)

参数:

n:为其分配了临时内存的T型元素的数量。

ptrdiff_t:它是整数类型。

返回值:该函数返回第一对和第二对对象。分配内存后,第一个包含指向块中第一个元素的指针,第二个包含指向大小的指针。如果未分配内存块,则第一对包含空指针,第二对包含零。

示例1:

要计算数组中的偶数总数并使用get_temporary_buffer打印排序后的数组

输出:

偶数总数为:5个

原始数组:8 9 2 1 10 14 37 18 17 5

排序数组:1 2 5 8 9 10 14 17 18 37

示例2:

使用get_temporary_buffer和return_temporary_buffer按字母顺序对字符串进行排序

输出:

排序的字符是:bgpvy

应用:算法通常需要临时空间才能正确执行。它具有非常特殊的用途,STL在内部使用这些算法来处理诸如stable_partition,stable_sort和inplace_merge之类的算法,它们使用额外的临时内存来存储中间结果,并且如果有额外的内存可用,它们的运行时复杂性会更好。

每天学点小知识,希望对你有帮助~

另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~

微信公众号:C语言编程学习基地

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!


C/C++编程笔记:C++中的std :: get_temporary_buffer的评论 (共 条)

分享到微博请遵守国家法律