gpt4 book ai didi

c++11 - alignas 和 alignof 关键字的用途是什么?

转载 作者:行者123 更新时间:2023-12-04 07:43:34 26 4
gpt4 key购买 nike

我无法理解 alignas 的目的是什么和 alignof关键字是,我不太确定我完全理解对齐是什么。

据我了解,如果内存地址可被 n 整除,则它与 n 字节对齐,也就是说,可以通过一次计算“n”个字节(从 0?或某个默认值?)来获得它。另外,alignas关键字,当为变量声明添加前缀时,指定如何对齐存储变量的地址,以及 alignof返回变量地址的对齐方式。

但是,我不相信这是对对齐或 alignof 的正确理解。/alignas关键字 - 请纠正我错的任何一点。我也没有看到这些关键字有什么用途,所以如果有人能指出他们的目的是什么,我将不胜感激。

最佳答案

某些特殊类型必须比通常对齐更多字节 - 例如,矩阵必须在 x86 上以 16 字节对齐才能最有效地复制到 GPU。 SSE 向量类型也可以这样做。因此,如果你想创建一个容器类型,那么你必须知道你试图包含或分配的类型的对齐要求。

关于c++11 - alignas 和 alignof 关键字的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com