在这draft份的附件M中,我发现:
增加了
memalignment
功能来查询指针的对齐方式;
然后是其文档:
7.24.9内存对齐 7.24.9.1
memalignment
功能概要
#include <stdlib.h> size_t memalignment(const void *p);
描述
memalignment
函数接受指向任何对象的指针并返回最大值 对齐由其地址值满足.对齐可能是 扩展对齐,也可能超出 由alignas
显式使用的实现.359)如果是这样,就会 满足实现可用的所有对齐.的值 返回的可以与alignof
的结果进行比较,如果是 大于或等于,则类型操作数的对齐要求为 满意返回
指针p的对齐方式,是二的乘方.如果p是空指针,则返回零对齐.
注意
零对齐表示测试指针不能 用于访问任何类型的对象.
问题:用外行的术语来说,"最大对齐"和"扩展对齐"是什么意思?难道指针的对齐不能与alignof
操作符找到吗?