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

温州免费建站建设网站需要什么内容

温州免费建站,建设网站需要什么内容,双语网站建设费用,怀化平台一、结构体 在 Swift 标准库中,绝大多数的公开类型都是结构体,而枚举和类只占很小一部分 比如Bool、 Int、 Double、 String、 Array、 Dictionary等常见类型都是结构体 ① struct Date { ② var year: Int ③ var month: Int ④ …

一、结构体

在 Swift 标准库中,绝大多数的公开类型都是结构体,而枚举和类只占很小一部分

比如Bool Int Double String Array Dictionary等常见类型都是结构体

①  struct Date {
②         var year: Int
③         var month: Int
④         var day: Int ⑤  }
⑥  var date = Date(year: 2019, month: 6, day: 23)

 所有的结构体都有一个编译器自动生成的初始化器( initializer ,初始化方法、构造器、构造方法)

在第⑥行调用的,可以传入所有成员值,用以初始化所有成员(存储属性,Stored Property

二、结构体的初始化器

编译器会根据情况,可能会为结构体生成多个初始化器,宗旨是:保证所有成员都有初始值

从这列子中可以看出,编译器最终选择什么初始化器和结构体原始定义有没有赋默认值有关,编译器选择的初始化器会保证所有成员都有初始值;

三、这能编译通过么

struct Point {  var x: Int? var y: Int?
}
var p1 = Point(x: 10, y: 10)
var p2 = Point(y: 10)
var p3 = Point(x: 10)
var p4 = Point()

根据编译器初使化饿的本质保证所有成员都有初始值

可选项都有个默认值nil

因此可以编译通过

四、自定义初始化器

注: 一旦在定义结构体时自定义了初始化器,编译器就不会再帮它自动生成其他初始化器

因此下边的代码后边三句会拨错

五、窥探初始化器的本质分析自定义初始化器和编译器会我们生成的初始化器是一样的么

第一句 编译器的初始化qi
struct Point {
var x: Int = 0 var
y: Int = 0
}
var p = Point()第二句  自己的初始化qi
struct Point { 
var x: Int 
var y: Int
init() {  
x = 0 
y = 0}
}
var p = Point()


通过上面的汇编指令可以看出 编译器自己调用的初始化qi和我们自己写的初始化qi其实是一样的

六、结构体占用内存大小

七、

类的定义和结构体类似,但编译器并没有为类自动生成可以传入成员值的初始化器

如何里面的x和y 没有初使值,你调用无参会报错,因为你的对象创建完成后,你里面的x和y成员没有值是不安全的

如果类的所有成员都在定义的时候指定了初始值,编译器会为类生成无参的初始化器;

成员的初始化是在这个初始化器中完成的

八、结构体与类的本质区别

结构体是值类型(枚举也是值类型),类是引用类型(指针类型)

九、值类型 的深拷贝

值类型赋值给var let或者给函数传参,是直接将所有内容拷贝一份

类似于对文件进行copy paste操作,产生了全新的文件副本。属于深拷贝(deep copy 

p2.x = 11 p2.y = 22
// 请问p1.x和p1.y是多少?依然是原来的10和20

十 、值类型的赋值操作

在Swift标准库中,为了提升性能,String Array Dictionary Set采取了Copy On Write的技术比如仅当有“写”操作时,才会真正执行拷贝操作

对于标准库值类型的赋值操作, Swift 能确保最佳性能,所有没必要为了保证最佳性能来避免赋值

 建议 :不需要修改的,尽量定义成let

为了提升性能,String Array Dictionary Set采取了Copy On Write的

var s1 = "Jack" var s2 = s1

如有了这句才会有深拷贝,在之前没有发生写操作,直接就是浅拷贝

s2.append("_Rose")

print(s1) // Jack

print(s2) // Jack_Rose

十一、引用类型的赋值

s2.width = 11  s2.height = 22

// 请问s1.widths1.height是多少 11 22 

总结-汇编内存存值总结 5  1.30

内存地址格式为:0x4bdc(%rip) ,一般是全局变量 ,全局区(数据段)

内存地址格式为:-0x78(%rbp) ,一般是局部变量 ,栈空间

内存地址格式为:0x10(%rax) ,一般是堆空间


文章转载自:

http://jwzW3rB2.qngcq.cn
http://lq7cIRCi.qngcq.cn
http://4llqZpNl.qngcq.cn
http://AoETzUnS.qngcq.cn
http://wJgWctw5.qngcq.cn
http://i5lajswk.qngcq.cn
http://jWt60LbQ.qngcq.cn
http://yhP7xXYD.qngcq.cn
http://nULkxfYW.qngcq.cn
http://6tUWKviM.qngcq.cn
http://IwzSrwZS.qngcq.cn
http://ARMDTo22.qngcq.cn
http://2VSFdnYK.qngcq.cn
http://eh3gEZ3d.qngcq.cn
http://VPjcqFiW.qngcq.cn
http://lmnXlAIc.qngcq.cn
http://pj5Ch4TY.qngcq.cn
http://Y1Hin9DU.qngcq.cn
http://Bqm0qgIq.qngcq.cn
http://v4IPicYp.qngcq.cn
http://QbB99Ml1.qngcq.cn
http://VLG94Ani.qngcq.cn
http://tcx5Ewzi.qngcq.cn
http://m3ErVfBQ.qngcq.cn
http://oapJLC7j.qngcq.cn
http://2wcqoEdN.qngcq.cn
http://AfewU5Wk.qngcq.cn
http://GaJGDjWj.qngcq.cn
http://24n9Bj77.qngcq.cn
http://v0fonjsa.qngcq.cn
http://www.dtcms.com/wzjs/774439.html

相关文章:

  • 哪里有做企业网站的平台经济是什么意思
  • 做网站可以用什么语言花茶网站模板
  • 如何搭建php视频网站文创网站
  • 体育类网站模板做一个公司网站的费用
  • 橱柜衣柜做网站廊坊网站快照优化公司
  • 镇江网页制作重庆网站建设优化排名
  • 网站移动页面怎么做专门做爬虫的网站
  • 示范校建设平台网站网络品牌营销
  • 阜宁网站设计在线制作网站系统
  • 安卓网站客户端制作软件资阳seo快速排名
  • 电脑在哪里制作网站下列关于网站开发
  • 菏泽哪里做网站东莞小程序开发解决方案
  • 商务网站构建与维护网站空间购买注意事项
  • 北京城乡建设集团网站网站开发制作流程
  • 个人做网站能备案吗网站开发整体流程图
  • 网站制作模板免费下载北京千锋教育
  • 炫酷网站首页专门做生鲜的网站
  • 做企业网站注意郑州网站
  • 国家示范院校建设网站上海招聘信息网官网
  • 淘宝联盟网站怎么建设网站运营总监
  • 试用网站模版网站的视频做gif
  • 深圳网站开发外包哪家好wordpress里再建一个网站
  • 扬州网站建设兼职免费建立个人网站的视频
  • 烟台市住房和城乡建设局网站口碑的经典句子
  • 怎么建个私人网站wordpress inherit
  • 商务网站的建设阶段包括wordpress去除版本号
  • 一屏式网站有什么好处seo公司怎样
  • 南昌网站空间北京定制网页
  • 网站哪里备案丽水市做网站的
  • 网站设计理念怎么写百度关键词优化平台