在此我需要C++数组类模板,它是固定大小的,基于堆栈,不需要默认构造函数答案我发布了一段代码,那就是使用带有char数组的placement new。对我来说,这是绝对正常的。但根据评论,这段代码是错误的。
有人能更详细地解释一下吗?
特别是数组可能出现的问题。我从评论中了解到,Tx[size]
可能不适合charx[size*sizeof(T)]代码>。我不相信这是真的。
编辑:
我只是越来越困惑。我知道在结构的情况下什么是对齐。是的,当你有一个结构时,属性从不同的偏移开始,你可能会想。
好的,现在我们回到数组。你是在告诉我Tx[size]
的大小与charx[size*sizeof(T)]的大小相同
,但我无法将char数组作为T数组访问,因为可能存在一些对齐。当数组大小相同时,如何进行对齐?
编辑2:
好吧,我终于明白了,它可能是从一个错误的地址开始的。
编辑3:
谢谢大家,你们可以停止发帖了:-)哇,这个总数让我大吃一惊。我只是从来没有意识到这是可能的。