C++中struct和class的总结

一.在语法上的一些区别

 由于C++是从C发展而来,C++中的struct更多的是去做了兼容的C的部分。在语法层面他们有以下的区别:

  1. struct中所有的成员是是public,也就是说你可以对一个struct对象的成员随意访问,而 class默认所有成员都是private的。

  2.在C++中的你可以直接使用struct去定义一个变量,而不用像C中那样先要typedef

二.在使用中的区别

class在C++中更多的是去作为一种用户自定义类型,而struct更多的是去做数据的聚合。你在解析一个协议的时候应该尽量使用struct,而定义一些像复数类一样的东西是应该尽量使用class