当前位置: 首页 > news >正文

简单 手机 网站 源码下载wordpress前台登录注册

简单 手机 网站 源码下载,wordpress前台登录注册,深圳网站设计网站制作,2022年国际新闻值类型 在Swift中,如果一个对象是用struct实现的,则该对象为值类型,在被赋值给常量或者变量时或者作为参数传递给函数时,值类型总是被复制,复制后的对象与之前的对象指向不同的内存。 Swift的基本类型(Array、Dictio…

值类型

在Swift中,如果一个对象是用struct实现的,则该对象为值类型,在被赋值给常量或者变量时或者作为参数传递给函数时,值类型总是被复制,复制后的对象与之前的对象指向不同的内存。

Swift的基本类型(Array、Dictionary、Int、String等)都是用struct实现的,所以都是值类型

应该尽量优先用struct实现数据建模,只有在需要的时候才用class

引用类型

引用类型实例和值类型实例不同,在把引用类型实例赋值给常量或者变量时,或者把引用类型实例作为参数传递给函数的时候,引用类型实例会创建新的引用而不是被复制,二者指向相同的内存。

声明为常量的值类型不能改变属性,即使属性在类型实现中是用var声明的也是一样,可以把值类型想象成为一个完整的值,而声明为常量的引用类型可以修改属性,因为引用类型修改属性不改变常量在内存中的位置

不要在值类型中使用引用类型,可以在引用类型中使用值类型
因为当把值类型的实例赋给新变量、常量或传递给函数时,实例会被复制。但是如果这个值类型中有引用类型的属性,复制操作会把同一个引用传递给新变量或新常量。改变其中任意一个都会反映到所有的实例上。所以建议大部分情况下都不要在值类型内使用引用类型。如果确实需要在结构体内使用引用类型属性,那么最好使用不可变实例。

复制

对于值类型的复制很简单,我们考虑引用类型的复制
引用类型的复制有两种情况,一种是仅仅复制了引用,这种复制叫浅复制,另一种是创建了新的引用对象,这种叫做深复制

浅复制的对象指向相同的内存,深复制的对象有各自的内存

swift只支持浅复制,深复制需要自己实现

相等和同一

相等是指两个实例就可见的特性来说具有一样的值
比如:

let x = 1 
let y = 1
x == y // 相等,返回真

对于Swift中所有的基本数据 类型(String、Int、Float、Double、Array和Dictionary),都可以检查相等性

同一性是指两个引用实例是否指向相同的内存引用,不能对值类型使用同一性

用类还是用结构体

  1. 如果类型需要传值,那就用结构体。这么做会确保赋值或传递到函数参数中时类型被复制。
  2. 如果类型不需要继承,就用结构体
  3. 如果类型表达的值比较简单,优先考虑结构体
  4. 其他情况都用类

Swift标准库中的值类型实现了被称为写时复制(COW)的机制,注意,是标准库,也就是这个写时复制的机制是需要自己实现的。

所谓的写时复制,意思就是值类型在复制时并不创建新的底层存储内存,比如数组,在传递数组参数给一个函数时,数组并不会分配新的内存来保存数据。而是使用和复制之前同样的内存引用。只有在发生写入时,数组才会分配新的内存,也就是只有在写入时,二者底层的存储才会分成两份。

http://www.sczhlp.com/news/150440/

相关文章:

  • 沈阳网站建设 南塔模版网站有源代码吗
  • 企业网站定制多少钱专业的企业宣传片制作
  • 凡科网站建设平台好么有哪些网站可以免费的
  • 网页设计规划网站seo优化推广外包
  • 泉州效率网络网站建设如何网站做百度推广
  • 南川区 网站集约化建设方案网站更换服务器 seo
  • 百度收录网站怎么更改关键词互联网+创业大赛
  • 微网站设计与制作wordpress安装官网
  • 境外网站建设简单的公司网页设计作品
  • 做淘宝客必须有网站吗seo推广平台服务
  • 网站 成功案例网站ftp根目录
  • 做外贸网站策划做网站的宽度为多少
  • DSA:DeepSeek Sparse Attention
  • 荒野猎手出击!启明智显ZX7981PO:专治各种恶劣环境的5G插卡路由器
  • AWS CDK重构功能发布:安全重构基础设施即代码
  • 开发即时通社交软件APP首选系统,可定制开发,可提供源码
  • 死锁的处理策略-死锁的检测和解除
  • 伦敦做网站西安百度推广运营
  • 电商个人网站建设政务公开与网站建设
  • 有人打电话说请我做网站 骗子国内外html5网站建设状况
  • 溆浦县建筑公司网站沈阳百度推广排名优化
  • 做儿童交互网站平面设计师和网页设计师哪个好
  • springboot3 mybatis 数据库操控入门与实战
  • 解决winform调用wpf窗体时原窗体缩小的问题
  • 高中网站建设计划表汽车设计网站
  • 浙江宝业建设集团网站星子网微庐山
  • 网站建设现在市场大不大网站设计人员
  • 临沂学做网站网站关键词字符编辑
  • 企业推广建站安徽做网站公司哪家好
  • 专业找图片的网站中国网站服务器哪个好