视频是15年做的,Swift3.0还是有些改动的。比如函数参数,++运算符,以及Array的初始化方法等。 运算符的重载等。也不是smalltalk那个体系的,没有根类。引用计数跟OC基本类似,没大的变化。 与C++的同中求异的地方在思维导图中都标出来了。 关于将函数参数声明为inout: 首先在swift中默认是传值,且类型为let。(有点类似于effective C++中要求参数const)。 其次:对于引用对象(也就是非基础类型)。inout就没必要了吧。传值过程中传递的指针的值,这必然是不会改变的。指针指向的对象可变
PRefix Operator+++{}prefix func +++{inout data:Complex}->Complex{ data+=data; return data;}在上面代码里就算不声明inout data的值一样会改变。这样来看inout只是针对基本类型来说的。将希望改变的对象参数声明为inout 只能说是一种显示说明,方便客户。 还有以下几个问题:因为用的playground,暂时还不知道swift中文件间的数据如何传递,不在一个文件中的方法如何调用~。下周有时间看下吧~
新闻热点
疑难解答