【发布时间】:2021-02-20 04:43:25
【问题描述】:
我正在使用基于重写规则的基于 C++ 的框架。单独的重写规则是由像我这样的开发人员编写的。重写规则接口中的参数可以用任何类型的变量来定义。框架似乎做的是在应用重写规则时对所有参数应用 memcpy。
现在我使用 C++ 对象的实例(从多个抽象类继承的有些复杂)作为我重写规则的参数。 毫不奇怪,memcpy 只是部分成功,并且在应用重写规则之后,我的对象的许多成员都搞砸了。特别是指针、映射和向量成员都搞砸了。
根据我阅读的内容,我了解到 memcpy 是一种相当低级的复制机制。 我想知道是否有任何方法可以帮助解决 memcpy 期间发生的混乱? 例如,如果我为所有类定义了复制构造函数——memcpy 是否能够使用它们? 抱歉,这是一个愚蠢的问题。
(如果没有办法让 memcpy 为复杂的实例工作,那么我会得出结论,我一直在使用的框架不适合传递对象)
【问题讨论】:
标签: c++ copy copy-constructor memcpy