其他分享
首页 > 其他分享> > c – std :: complex是否以交错的方式存储?

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