内联函数将函数体嵌入调用点,提升性能和代码体积,但可读性较低;虚拟函数通过多态性调用子类覆写的函数,提高灵活性,但运行时开销较高。
C++ 内联函数与虚拟函数的异同
内联函数
内联函数是编译器在调用时将函数体嵌入到调用点,而不是执行函数调用过程的函数。
优点:
- 提升性能:避免调用开销。
- 减小代码体积:函数体不会重复出现在多个调用点。
缺点:
- 编译时间增加:需要为每个调用点编译函数体。
- 代码可读性下降:函数体分散在整个代码库中。
语法:
inline int sum(int a, int b) { return a + b; }