Swift

内联函数(Inline Function)

2019-09-27  本文已影响0人  坤哥爱卿

场景:如果开启了编译器优化(Release模式默认会开启优化),编译器自动将某些函数变成内联函数

调用方式如下:

调用方式

哪些函数不能被内联?

1. 函数体过长
2. 包含递归调用
3. 包含动态派发(变量指向的对象是随时可能变化的,调用是才能决定具体调用的是哪个)
class ManPerson{
    func test() {
        
    }
}

class Strudent : ManPerson{
    override func test(){
        
    }
}

class Teacher : ManPerson{
    override func test() {
        
    }
}

var man:ManPerson = Strudent()
man = Teacher()
man.test()
上一篇下一篇

猜你喜欢

热点阅读