我有一个小问题,如果我有一个有成员的班级,例如像这样
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),我可以以某种方式将查询类的值存储到播放器中,所以我不必这样做
pPlayer->m_... = query->m_...
我知道它不是那么有用,但它只是为了我的额外知识。谢谢你的回答。
答案 0 :(得分:2)
对任何具有特征std :: is_trivially_copyable的类型,memcpy都是安全的。
然而,在这种情况下,您应该使用复制构造函数。