虚拟函数是一个在基类中声明的成员函数,由派生类重新定义。内联函数。内联函数是一个由关键字inline
定义的普通函数,它是一个被编译器扩展的短函数,其参数只被评估一次。
在C++中定义内联函数的语法是 -
inline return-type function-name(parameters)
{
// function code
}
虚函数和内联函数的区别如下 -
虚函数 | 内联函数 | |
---|---|---|
1 | 虚拟函数必须在类的公共部分声明。 | 内联函数是一个正常的函数,由关键字inline 定义。 |
2 | 虚拟函数不能是静态的。 | 内联函数也可以是非静态的。 |
3 | 虚拟函数在基类中定义。 | 内联函数是长度较短的函数,无需在类中使用内联关键字即可自动成为内联函数。 |
4 | 虚拟函数会降低代码的效率。 | 内联函数用于提高代码的效率。 |
5 | 虚拟函数是为了运行时的多态性。 | 内联函数是为了在编译时进行多态性。 |
6 | 虚拟函数可以包括虚拟析构器,但不能有虚拟构造器。 | 内联函数也可以包括内联构造函数。 |
7 | 虚拟可以用于动态链接。 | 内联函数被用来减少函数调用的开销。 |
C++中虚函数和内联函数的区别
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:C++中虚函数和内联函数的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-virtual-function-and-inline-function-in-c.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。
相关主题
- C++ 11、C++ 14和C++ 17的区别
- C++ map与unordered_map的区别
- C++ set 与 unordered_set的区别
- C++ std::set 和std::vector 的区别
- C++ std::set和std::list的区别
- C++ STL中Multiset和Multimap的区别
- C++ 中的 std::next 与 std::advance 的区别
- C++中 cout 和std::cout的区别
- C++中Const和Regular迭代器的对比及其示例
- C++中关系运算符(==)和std :: string :: compare()的区别
- C++中内联函数和普通函数的区别
- C++中的浅拷贝和深拷贝的区别