上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.5 控制以及查询对象对齐方式
C++11标准提供了用于指定或获取一种类型的对齐方式(在此之前只能依赖编译器特有的办法[3][4])的方法。控制对齐方式对于提高不同处理器的性能并启用某些仅适用于特定对齐方式的数据的指令非常重要。例如,对于Intel SSE(Streaming SIMD Extensions)和Intel SSE2的处理器,如果按16字节对齐,它们处理相同的数据的速度会得到大幅提升。另外,对于Intel AVX(Intel Advanced Vector Extensions),它将大多数整数处理器的命令扩展到256位,强烈建议使用32字节对齐。本节探讨如何用alignas标识符来控制字节对齐方式,以及如何用alignof操作符来检查类型字节对齐要求。