我想知道何时可以使用C ++进行对象存储。
感谢这个答案(When is a type in c++11 allowed to be memcpyed?),我知道如果对象是TriviallyCopyable
,我可以放心地这样做。但是,这是非常严格的限制。而且,在我的用例中,我不在乎,是否通过memcpy创建的对象副本与使用副本构造函数创建的副本相同。
我唯一需要的是将对象内存到某个内存地址后,可以将该内存视为原始对象。
如果一个对象满足StandardLayout
的要求,或者即使在我的用例中也必须是TriviallyCopyable
,就足够了吗?
如果StandardLayout
还不够,那么如果我使用它会怎样?它可以保证固定对象的布局,对吧?