所以,我在C ++ 11编码最佳实践领域有一些哲学问题。
创建一个基本上将数据从一个系统转换到另一个系统的应用程序。你应该在类中定义所有内容,还是在类中使用结构?
这是我所指的更具体的例子。
对于典型的类对象。我应该这样创建它:
class Contact {
std::string Name;
std::string Address;
:: :: ::
void Load();
void Save();
std::string OtherFunctions( std::string Name )
}
或者将数据从班级中分离出来更好:
struct ContactInfo {
std::string Name;
std::string Address;
:: :: ::
}
class Contact {
ContactInfo data;
void Load();
void Save();
std::string OtherFunctions( std::string Name )
}
我正在考虑结构而不仅仅是在类中进行操作的几个原因是能够在API之间传输数据。例如,这些对象的创建是在低级纯C ++应用程序中完成的。但是,在整个过程中,它会暴露给托管的C ++应用程序,然后最终在.NET应用程序中使用。
其次,当信息从一个函数传递到另一个函数时,我只传递信息而不传递类对象。对于现代编译器,也许这一点是静音的,但从逻辑上讲,只传递数据而不是对象似乎更好。
第三,它将管理对象数据所需的类成员与数据本身分开。因此,拥有像ErrorCode,ErrorMessage等成员不会污染什么是数据,什么不是。
我离开基地吗? 我应该采取更好的方式进行此类活动吗?