gpt4 book ai didi

c++ - Aligned_alloc 行为

转载 作者:太空狗 更新时间:2023-10-29 20:01:36 25 4
gpt4 key购买 nike

我已经阅读了 aliged_alloc 的内容,我应该像这样使用它:

void* aligned_alloc( std::size_t alignment, std::size_t size );

它返回我想要使用alignmentsize alloc 的指针。

在我的代码中我尝试使用它:

int *a = aligned_alloc(1024, 10*sizeof(a));

std::cout << alignof(a) << std::endl;

它给了我 8。但我希望结果是 1024,因为我的对齐是 1024。

我不明白什么?

最佳答案

a的对齐不是a指向的内存的对齐。 alignof(a) 给出的值 8 是该类型所需的对齐方式,而不是 a 值的最大对齐方式。

当您执行 alignof(a) 时,它等同于执行 alignof(int *),这需要在您的编译器/机器上具有 8 对齐。

关于c++ - Aligned_alloc 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56581331/

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