C++中虚函数和内联函数的区别
虚拟函数是一个在基类中声明的成员函数,由派生类重新定义。内联函数。内联函数是一个由关键字 inline
定义的普通函数,它是一个被编译器扩展的短函数,其参数只被评估一次。
在C++中定义内联函数的语法是 –
inline return-type function-name(parameters)
{
// function code
}
虚函数和内联函数的区别如下 –
虚函数 | 内联函数 |
---|---|
虚拟函数必须在类的公共部分声明。 | 内联函数是一个正常的函数,它由关键字inline定义。 |
虚拟函数不能是静态的。 | 内联函数也可以是非静态的。 |
虚拟函数在基类中定义。 | 内联函数是短小的函数,无需在类中使用内联关键字就能自动成为内联函数。 |
虚拟函数会降低代码的效率。 | 内联函数是用来提高代码效率的。 |
虚拟函数是为了运行时的多态性。 | 内联函数是为了编译时的多态性。 |
虚拟函数可以包括虚拟析构器,但不能有虚拟构造器。 | 内联函数也可以由内联构造器组成。 |
虚拟可以用于动态链接。 | 内联函数是用来减少函数调用的开销。 |