void*aligned_alloc(std::size_t alignment,std::size_t size); alignment:规定内存对齐边界,必须是实现认可的合法值,常见为2的幂,如8、16、32等。这是因为硬件架构对内存访问有特定对齐要求,以2的幂为对齐值能更好适配。 size:代表要分配的字节数,且必须是alignment的整数倍。这确保了内存分配的规整性,满足...
作为“实现支持”要求的例子, POSIX 函数 posix_memalign 接受任何是二的幂且为 sizeof(void*) 倍数的 alignment ,而基于 POSIX 的 aligned_alloc 实现继承此要求。 常规的 std::malloc 分配适用于任何对象的大小的内存(实际上,意味着内存对齐到 alignof(std::max_align_t))。此函数适用于过对齐分配,例如对...