iOS开发 Swift 速记5:高级运算符
初级代码游戏的专栏介绍与文章目录-CSDN博客
我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。
这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。
源码指引:github源码指引_初级代码游戏的博客-CSDN博客
C#是我多年以来的业余爱好,新搞的东西能用C#的就用C#了。
系列入口:iOS开发 Swift 速记1:变量和基本数据类型-CSDN博客
发觉swift挺古怪的,思路感觉不一样。
目录
一、高级运算符
二、重载和自定义运算符
三、运算符优先级
一、高级运算符
位运算符 支持C的全套
溢出触发异常
溢出算符 & 表明此算符允许溢出 &+ &- 等等
运算符重载形式与函数相同(实际上运算符就是函数,可以当作函数名使用)
二、重载和自定义运算符
自定义首先要声明为运算符 prefix/infix/postfix operator 算符:优先级组
然后自定义和重载
保留符号不可以重载和自定义 = -> // /* */ . < > & ? !
优先级组precedencegroup 可以使用预定义组或重新定义
三、运算符优先级
单目优先
算数类 加减乘除位运算 乘除取模位移优先
区间类 ..< ...
类型类 is as as? as!
空合并 ??
比较类 大于小于等于 === !== ~=
逻辑与 &&
逻辑或 ||
条件 ?:
赋值类 =和组合=
注意[]不是运算符。实话说C的运算符体系是相当科学的,想故意不一样难免弄巧成拙。
(这是文档结束)