std :: allocator是否在C ++ 17中处理过度对齐的类型?

时间:2017-09-25 07:17:00

标签: c++ c++17 memory-alignment allocator

C ++ 17引入了gI和对齐感知cH != CH kH != KH nG != NG nH != NH pH != PH qU != QU tH != TH tR != TR 可以执行过度对齐的分配,但是std::aligned_alloc呢?它是否处理过度对齐的类型?

1 个答案:

答案 0 :(得分:5)

在N4659(C ++ 17 DIS)中,23.10.9.1 [allocator.members], bullet 2

  

T * allocate(size_t n);

     

返回:指向大小为n * sizeof(T)的存储数组的初始元素的指针,为T类型的对象正确对齐

与C ++ 14相比,句子

  

是否支持过度对齐类型是实现定义的

已被删除。所以std::allocator应该支持C ++ 17中的过度对齐类型。