【发布时间】:2014-11-14 23:34:06
【问题描述】:
我想将数据从数组映射到 C++ 类。该类将只有私有成员变量,没有继承或虚拟的东西。这是安全的还是我应该在 C++ 中使用结构?
void main(void)
{
uint8_t data[50];
MyClass *msg;
msg = nullptr;
for (int i = 0; i < 50; i++)
{
data[i] = i;
}
msg = (MyClass *) &data[0];
cout << msg->name();
}
类如下所示:
class MyClass
{
private:
int name;
public:
int name(); //Getter
void setName(); //Setter
};
【问题讨论】:
-
msg = new MyClass();这条线的意义何在?如果您想在正确分配之前初始化msg,只需将其分配给nullptr,因为它代表您正在泄漏内存。 -
我建议您阅读有关序列化的主题,尤其是从 boost 库。比复制二进制结构/类更安全,更灵活。