学习笔记:
(里面的话大部分摘自老师)
宏函数和普通函数的区别
宏函数的优点
宏函数的优点是内嵌 也就是避免了函数调用的开销
宏函数的缺点
1 虽然内嵌是其优点 但是在代码量非常大的情况下 会导致代码膨胀
2 直接替换 不进行类型检查 会发生一些意想不到的错误
普通函数的优点是
1 抽象
2 写一次 实现n次调用 让代码更紧凑
缺点是
1 每一次调用都会开辟空间
2 进行类型检查
因此C++结合两者的优点 有了inline函数
inline的优点是 假如假如假如 (注:列子可能不准确 只是为了理解) 我开辟空间花费1秒 运行程序花费1秒
若反复调用次函数10次 则需要开辟空间10S 运行程序10S
那么应用inline函数后 就剩掉了 开辟空间的时间 也就是10S 总共需要10S
一般短小其精悍的函数 才会被编译器采纳为真正的inline函数
如果对一个程序很大的函数 进行inline 则可能在编译的时候就会被优化了