首页 理论教育 STL内存配置器要求及类型实现要求

STL内存配置器要求及类型实现要求

时间:2023-10-25 理论教育 版权反馈
【摘要】:STL库描述了内存配置器要求的标准集,其中包含了内存配置模型的所有对象。该信息包括指针类型知识、对象大小类型、区别的类型、内存配置和存储单元分配等。表9-4描述了通过内存配置实现类型控制的要求。①给定配置器类型的所有实例被要求互相变化,并且总是相互相等的。②类型定义members pointer、const_pointer、size_type和difference_type均是被要求称为T、T const、size_t和ptrdiff_t等。配置器实例进行“非等于”比较时,容器的语义和算法是可自定义实现的。

STL内存配置器要求及类型实现要求

STL库描述了内存配置器要求的标准集,其中包含了内存配置模型的所有对象。该信息包括指针类型知识、对象大小类型、区别的类型、内存配置和存储单元分配等。就内存配置器而言,所有容器均被参数化。表9-4描述了通过内存配置实现类型控制的要求。表9-5描述了内存配置器类型的性能和要求。

9-4 描述性可变定义

978-7-111-51399-5-Chapter09-13.jpg

9-5 内存配置器类型的性能和要求

978-7-111-51399-5-Chapter09-14.jpg

说明:1)表9-5中的成员类模板rebind是有效的类定义模板:如果名称Allocator和某配置器(SomeAllocator<T>)模板绑定,配置类的成员函数rebind<U>::other和SomeAl- locator<U>是同一类型;(www.xing528.com)

2)在国际标准中描述的容器,被允许假设,除表9-5之外,配置器模板参数满足下面的两个额外要求。

①给定配置器类型的所有实例被要求互相变化,并且总是相互相等的。

②类型定义members pointer、const_pointer、size_type和difference_type均是被要求称为T、T const、size_t和ptrdiff_t等。

开发人员(实现者)鼓励提供库。该库可以接受内存配置器。该内存配置器可以包括更普通的内存模型,并支持“不等”实例。配置器实例进行“非等于”比较时,容器的语义和算法是可自定义实现的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈