C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何避免在分配器中重新绑定c 17大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在c 17之前,如果你有一个分配器,如Allocator< typename,size_t>你可以使用rebind结构.
但现在,在C 17中,重新绑定结构已被弃用.
构建分配器的解决方案是什么< T,size_t>来自分配器< T2,size_t>?

解决方法

仅弃用std :: allocator的重新绑定成员模板.如果您使用自己的类,仍然可以定义重新绑定.

通过std::allocator_traits执行,如:

using AllocatorForU = std::allocator_Traits<AllocatorForT>::template rebind_alloc<U>;

AllocatorTemplate< T,OtherTypes ...>的rebind_alloc的认值是AllocatorTemplate< U,OtherTypes ...>,适用于std :: allocator,这就是为什么不推荐使用std :: allocator< T> :: rebind的原因.您必须为您的类定义它,因为它具有非类型模板参数.

大佬总结

以上是大佬教程为你收集整理的如何避免在分配器中重新绑定c 17全部内容,希望文章能够帮你解决如何避免在分配器中重新绑定c 17所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。