struct和class的区别

        相同点:都可以将多个数据封装为一个整体。

       不同点:

     1、结构体只能封装数据,类可以封装行为;

     2、结构体变量分配在栈空间,类对象分配在堆空间。栈空间相对较小,但是存储在栈中的数据访问的效率稍高;堆空间相对较大,但是存储在队中的数据效率低一些。

     3、结构体的赋值方式为拷贝,类对象的赋值方式为地址。

    应用场景

    1、如果封装的这个数据,不仅有数据还有方法,只能使用类;

    2、如果表示实体,没有行为,只有属性,且属性较少,就定义为结构体,分配在栈,提高运行效率;如果属性较多,则定义为类,因为结构体变量会在栈中占据很大一块空间,反而影响效率。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容