C++ C++;类中的memcpy数据?

C++ C++;类中的memcpy数据?,c++,C++,我有一个小问题,如果我有一个有成员的班级,比如这样 class CSelectPlayerData : public SqlQuery { public: BYTE m_Member; WORD m_Member2; Load_Data(CSelectPlayerData, "SELECT Member, Member2 FROM TABLE); MAKE_PARAM(m_Member, m_Member2); } 这段代码的作用是从sql表加载数据,并将它们

我有一个小问题,如果我有一个有成员的班级,比如这样

class CSelectPlayerData : public SqlQuery
{
public:
    BYTE m_Member;
    WORD m_Member2;

    Load_Data(CSelectPlayerData, "SELECT Member, Member2 FROM TABLE);
    MAKE_PARAM(m_Member, m_Member2);
}
这段代码的作用是从sql表加载数据,并将它们分配给Member和Member2。我现在的问题是,如果我使用查询并执行以下操作:

INIT_QUERY(db, CSelectPlayerData) //this also executes the LoadData etc (it's macro)
pPlayer->m_Member = query->m_Member;
...
然后创建一个单独的类CPlayer

CPlayer Player;
它有相同的参数(Member,Member2),我可以将查询类中的值memcpy给播放器吗,这样我就不必执行

pPlayer->m_... = query->m_...

我知道它不是很有用,但它只是为了我的额外知识。谢谢你的回答。

memcpy对于任何具有std::可复制特性的类型都是安全的


然而,许多类不是简单可复制的,在这种情况下,您应该使用复制构造函数。

memcpy对于任何具有std::is_平凡可复制特性的类型都是安全的


但是,许多类并非完全可复制,在这种情况下,您应该使用复制构造函数。

,并了解复制构造函数或转换构造函数。您可以让CPlayer在构建类时接受这两个参数。

。,并了解复制构造函数或转换构造函数。在构造类时,您可以让CPlayer接受这两个参数。