1. 结构体只能封装属性,而类不仅可以封装属性还可以封装方法.
 
    如果1个封装数据既有属性也有行为,只能用类.
 
 
 2. 结构体变量分配在栈.OC对象分配在堆.
    栈的空间相对较小.但是存储在栈中的数据访问效率相对较高.
    堆的空间相对较大.但是存储在堆中的数据的访问效率相对较低.
 
    如果1个封装数据只有属性.如果用结构体就会分配在栈 效率就会高.
                                                   如果使用类型 对象就分配在堆 效率相对就会低.
 
    如果定义1个结构体,这个结构体中有很多个属性.那么这个时候结构体变量在栈中就会占据很大1块空间 反而会降低效率.

什么时候使用结构体: 1). 封装数据只有属性 2) 属性较少. 3个以下.

什么时候使用类: 1).封装数据既有属性也有行为. 2).只有属性 但是属性较多.
 
 
 3. 结构体赋值是 直接赋值的值. 而对象的指针 赋值的是对象的地址.

结构体和类的区别 (objective c)相关推荐

  1. 【唐老狮】C#——结构体和类的区别

    [结构体和类的区别] 结构体是值类型,类是引用类型 结构体存在栈中,类存在堆中 结构体成员不能使用protected访问修饰符,而类可以 结构体成员变量申明不能指定初始值,而类可以 结构体不能申明无参 ...

  2. [C#]结构体和类的区别

    结构体和类的区别:     在做一个项目时,使用了较多的结构体,并且存在一些结构体的嵌套,即某结构体成员集合包含另一个结构体等,总是出现一些奇怪的错误,才终于下决心好好分析一下到底类和结构体有啥不同, ...

  3. 结构体和类的区别详细讲解

    结构体和类的区别 C的结构体和C++结构体的区别 C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数.所以C的结构体是没有构造函数.析构函数.和this指针的. C的结构体对 ...

  4. C#中的结构体与类的区别

    转载自:https://www.cnblogs.com/to-creat/p/5268729.html C#中的结构体与类的区别 经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自 ...

  5. C#中结构体和类的区别

    结构体和类同样能够定义字段,方法和构造函数,都能实例化对象,这样看来结构体和类的功能好像是一样的了,但是他们在数据的存储上是不一样的 C#结构体和类的区别问题 这两种数据类型的本质区别主要是各自指向的 ...

  6. C语言结构体与C++中结构体和类的区别

    在C++中除了类中可以有构造函数和析构函数外,结构体中也可以包含构造函数和析构函数,这是因为结构体和类基本雷同,唯一区别是,类中成员变量默认为私有,而结构体中则为公有.注意,C++中的结构体是可以有析 ...

  7. C++中结构体与类的区别介绍

    在参与以C++为编程基础的项目应用中总会遇到结构体类型与类的数据类型,但是其具体应用区别模糊不清 现将其区别总结如下,欢迎补充共同学习(先介绍C和C++中结构体的不同,再对比C++中结构体与类的区别) ...

  8. swift string转int_swift中结构体和类的区别(值类型和引用类型的区别)

    在swift中结构体和类有着更多的相同之处,在一般的使用中能够做到互相替换.我们可以先看看官方文档的描述: Unlike other programming languages, Swift does ...

  9. 结构体和类的区别(待考究)

     1.C的结构体和C++结构体的区别 1.1 C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数.所以C的结构体是没有构造函数.析构函数.和this指针的. 1.2 C的 ...

最新文章

  1. MySQL DATE_FORMAT() 函数
  2. MyBatis关键配置-接口注入使用
  3. django的权限认证:登录和退出。auth模块和@login_required装饰器
  4. echart 设置y轴间隔_ECharts 柱状图之间的间距怎么调整的?y轴的线怎么调出来? 做成表格状。...
  5. JVM(十),垃圾回收之新生代垃圾收集器
  6. Java Thread.yield详解
  7. Http压力测试工具HttpTest4Net
  8. python中find函数的使用方法_详解Python中find()方法的使用
  9. c语言中立方和乘法怎么表示什么区别,c语言中的乘方符号是什么?
  10. MATLAB 中有哪些命令,让人相见恨晚?
  11. CSS3 SVG 画一个三角形
  12. 16位深度图片显示并保存
  13. LeetCode 506 Relative Ranks
  14. 2020,SOS,既然不能选择,那便一路向前——在20年周期的新开端,聊聊泡沫、科技和经济--童亚斋
  15. VB中的ByVal和ByRef的区别
  16. 谁是软件测试的利益相关者?如何识别它们?
  17. Java集合有哪些?
  18. Android4.4电池管理
  19. py socket5 代理
  20. 错误nested exception is org.apache.ibatis.binding.BindingException

热门文章

  1. [转载] 全国各省市免费发送代码到10086查询GPRS流量指令大全
  2. 网页设计师必用的14个Firefox扩展
  3. 3D-03-牧师与魔鬼
  4. MySQL必知必会05:正确设置主键
  5. 期货股票量化交易软件如何操作
  6. 老版本Typora分享
  7. 用 Python 实现英文单词纠错功能
  8. 大学计算机考证和时间
  9. 计算CPU使用率【prometheus】
  10. fiddler5+雷电模拟器4.0对app抓包设置