【发布时间】:2020-09-10 05:14:10
【问题描述】:
我有一块通过 char 缓冲区分配的内存,通过其他类型的缓冲区查看是否合法?
char* buffer = new char[1000];
int64_t* int64_view = static_cast<int64_t*>(static_cast<void*>(buffer))
int64_view[0] 是否保证对应buffer 的前 8 个字节?
我有点担心别名问题,如果char 缓冲区只有1 字节对齐,而int64_t 必须是8 字节对齐,那么编译器如何处理呢?
【问题讨论】: