美文网首页
struct和class的区别

struct和class的区别

作者: li二彩 | 来源:发表于2018-04-04 16:26 被阅读33次

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

           不同点:

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

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

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

        应用场景

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

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

    相关文章

      网友评论

          本文标题:struct和class的区别

          本文链接:https://www.haomeiwen.com/subject/vppeyttx.html