如何避免在分配器中重新绑定c 17
发布时间:2020-12-16 09:22:37 所属栏目:百科 来源:网络整理
导读:在c 17之前,如果你有一个分配器,如Allocator typename,size_t你可以使用rebind结构. 但现在,在C 17中,重新绑定结构已被弃用. 构建分配器的解决方案是什么 T,size_t来自分配器 T2,size_t? 解决方法 仅弃用std :: allocator的重新绑定成员模板.如果您使用自己
在c 17之前,如果你有一个分配器,如Allocator< typename,size_t>你可以使用rebind结构.
但现在,在C 17中,重新绑定结构已被弃用. 构建分配器的解决方案是什么< T,size_t>来自分配器< T2,size_t>? 解决方法
仅弃用std :: allocator的重新绑定成员模板.如果您使用自己的类,仍然可以定义重新绑定.
通过 using AllocatorForU = std::allocator_traits<AllocatorForT>::template rebind_alloc<U>; AllocatorTemplate< T,OtherTypes ...>的rebind_alloc的默认值是AllocatorTemplate< U,OtherTypes ...>,适用于std :: allocator,这就是为什么不推荐使用std :: allocator< T> :: rebind的原因.您必须为您的类定义它,因为它具有非类型模板参数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |