【摘要】:STL库描述了内存配置器要求的标准集,其中包含了内存配置模型的所有对象。该信息包括指针类型知识、对象大小类型、区别的类型、内存配置和存储单元分配等。表9-4描述了通过内存配置实现类型控制的要求。①给定配置器类型的所有实例被要求互相变化,并且总是相互相等的。②类型定义members pointer、const_pointer、size_type和difference_type均是被要求称为T、T const、size_t和ptrdiff_t等。配置器实例进行“非等于”比较时,容器的语义和算法是可自定义实现的。
STL库描述了内存配置器要求的标准集,其中包含了内存配置模型的所有对象。该信息包括指针类型知识、对象大小类型、区别的类型、内存配置和存储单元分配等。就内存配置器而言,所有容器均被参数化。表9-4描述了通过内存配置实现类型控制的要求。表9-5描述了内存配置器类型的性能和要求。
表9-4 描述性可变定义
表9-5 内存配置器类型的性能和要求
说明: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等。
开发人员(实现者)鼓励提供库。该库可以接受内存配置器。该内存配置器可以包括更普通的内存模型,并支持“不等”实例。配置器实例进行“非等于”比较时,容器的语义和算法是可自定义实现的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。