c – std :: complex是否以交错的方式存储?
作者:互联网
也就是说,在磁盘上,如果我有一个std :: complex数组,它是存储RIRIRIRI还是RRRRIIII还是别的?
我真正的问题是 – 如果我有一个我定义的结构包含两个数字,我可以重新解释一下我的结构数组,以使用期望std :: complex数组的函数吗?
memcpy怎么样?如果我的两个结构都是浮点数,那么如果它们存储的话应该没问题呢?
解决方法:
C类只不过是带有一些装饰的结构.因此,类中定义的成员按顺序排列在存储器中,对于该类型的每个元素是连续的.换句话说,一个std :: complex数组,其中每个元素包含RI,将存储RIRIRIRI.
你可以放弃reinterpret_cast,但如果你这样做,你将依赖于std :: complex实现 – 这可能会很好.
标签:reinterpret-cast,c,casting 来源: https://codeday.me/bug/20190827/1736767.html