空间的析构与构造

https://www.starpool.cnSTL对destory()函数进行了重载,泛华版本传入的是两个迭代器模板(template<class ForwardIterator>),特化版本是传入两个char*或者wchar*类型的指针。星池科技 2.所以当destory() 传入两个char*或者wchar*类型的指针时,析构函数什么都不做。3.当传入其他类型,如迭代器或者其他类型的指针时,就会调用_destory()函数,此函数会进行一个(特别的)操作:利用迭代器中的type_traits判断传入的迭代器所指向的元素类型的has_trivial_desturctor.STL allocator将上述两阶段操作区分开来。内存配置由alloc::allocator()负责,内存释放操作由alloc::deallocator()负责;对象构造由::constructor()负责,对象析构由::destroy()负责。 再根据特性的不同分别对不同特性的对象调用相应的方法。https://www.starpool.cn 在第二版本中,STL会分析迭代器所指对象的has_trivial_destructor特性的类型(只有两种:true_type和false_type),如果是true_type,STL就什么都不做;如果是false_type,就会调用每个对象的析构函数来销毁这组对象。 这两个函数不断调用“内存不足处理函数”,直到获得足够内存为止。如果用户没有传递“内存不足处理函数”,会抛出__THROW_BAD_ALLOC异常。 
#Java求助#
全部评论

相关推荐

废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
完美的潜伏者许愿简历...:隐藏信息被你提取出来了,暗示,这就是暗示
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务