C++ 缓冲区的类型解释
我有一个名为C++ 缓冲区的类型解释,c++,reinterpret-cast,C++,Reinterpret Cast,我有一个名为type的泛型类型,它可以是任何类型 就未定义的行为而言,是否需要进行以下罚款 有这个结构吗 struct alignas(alignof(Type)) TypeBuffer { char buffer[sizeof(Type)]; } 然后在Type和TypeBuffer之间自由地重新解释?或者通常使用TypeBuffer作为Type?当然,当我从TypeBuffer转换到Type并使用它时,我假设内存的这一部分是用新的或某种方式构建的 如果它未定义,那么使用缓冲区的类型
type
的泛型类型,它可以是任何类型
就未定义的行为而言,是否需要进行以下罚款
有这个结构吗
struct alignas(alignof(Type)) TypeBuffer {
char buffer[sizeof(Type)];
}
然后在Type
和TypeBuffer
之间自由地重新解释
?或者通常使用TypeBuffer
作为Type
?当然,当我从TypeBuffer
转换到Type
并使用它时,我假设内存的这一部分是用新的或某种方式构建的
如果它未定义,那么使用缓冲区的类型视图的原因是什么?我的备选方案是什么?为什么不看一看变体,看看它是怎么回事?为什么不使用
std::aligned_storage
?@cheerrandhth.-Alf我提出这个问题的原因是为了了解这个实现是否会出现任何问题,如果没有,那么这种类型的允许或不允许的用例是什么。