相关疑难解决方法(0)

为什么在c ++ 17中不推荐使用std :: allocator的构造和销毁函数?

c ++ 17规范不赞成使用对象constructdestroy成员std::allocator.用于弃用其他成员函数工作组提供的基本原理这里,标题下的"弃用的std ::分配器的所述冗余成员".

但是,他们没有具体提到为什么这两个成员被弃用或者建议取代该功能的原因.我假设暗示是用来std::allocator_traits::construct代替.

我有点困惑的construct是,在某些情况下实施是否仍然是必要的,尽管因为这个评论std::allocator_traits::construct

因为此函数提供自动回退到placement new,所以成员函数construct()是自C++ 11以来的可选Allocator要求.

对于自定义分配器(例如,对于页面对齐的内存使用memalign),回退到放置new总会产生正确的行为吗?

c++ memory-management allocator language-lawyer c++17

43
推荐指数
2
解决办法
4354
查看次数