char* buf = new char[n + 16];// 由于有可能分配的内存并不是16字节对齐,这里可以多分配16个 字节,这样将不对齐的分配强制对齐后,不会造成写越界
double* ptr = (double *)((int)buf + 15) & ~15);// ptr已经是16字节对齐了,并且可操作的字节数不会小于n个字节
第二步相当于,后移15字节,将余数 部分抹0
new一个数组,并使其 16B 对齐
最新推荐文章于 2023-05-03 20:52:10 发布