2 c++ backwards-compatibility struct-vs-class
我知道定义和常量之间的区别在于常量具有类型,而宏和函数之间,函数被调用和键入,而宏是无类型的内联.不是结构和类之间的区别,但我不认为有一个,除了公共/私有默认的东西(我在这里只考虑C++,而不是C).
无论如何,有没有时候使用定义/宏/结构比使用C++版本,常量,函数和类更有效,更有利,或者至少更干净的代码?
具体来说,因为这只是它们之间没有明显差异(至少在最终程序中),使用结构而不是类是否更好,如果没有效率,那么使用它们的惯例是什么?使用?
通常,在C++程序中,我可能会使用a struct进行简单的数据聚合,例如Point包含a x和a 的结构y.我会使用一个class具有与之关联的行为(成员函数)的对象.
当然,这只是一个约定,因为除了上面提到的两个细节(默认继承和默认成员可见性)之外,编译器几乎完全相同.