有人可以更详细地解释一下吗?
具体而言,数组可能出现什么问题。从评论中我理解到
T x[size];
可能无法适应char x[size*sizeof(T)];
。 我不相信这是真的。编辑:
我越来越困惑了。在结构的情况下,我知道什么是对齐方式。是的,当你有一个结构时,属性会以你所想象的不同偏移量开始。
现在我们回到了数组。你告诉我
T x[size];
和char x[size*sizeof(T)];
的大小是相同的,然而我不能像访问T数组那样访问char数组,因为可能存在某些对齐问题。当这些数组的大小相同时,如何会存在对齐问题呢?编辑2:
好吧,我终于明白了,它可能会从错误的地址开始。
编辑3:
谢谢大家,你们可以停止发布了 :-) 哎呀,这真是让我感到烦恼。我从来没有意识到这是可能的。