c++ - C++中的非虚函数与虚函数调用效率

标签 c++ virtual

<分区>

阅读虚函数时,我遇到了以下概念:“C++ 非虚函数调用在编译时通过静态绑定(bind)解析,而虚函数调用在运行时通过动态绑定(bind)解析。”

我的问题是:1) 如果我们的程序中有大量虚函数调用,那么它会对性能产生很大影响吗,因为它们是在运行时计算的?还是它与现代机器无关?

2) 这个数字取决于堆栈吗?

最佳答案

一般来说,引用虚表来获取对象的函数地址的成本可以忽略不计。

但是,与其他任何事情一样,这取决于您的应用程序。一个好的经验法则是,如果您正在设计一个您知道对速度至关重要的类,那么请考虑此类问题。否则,担心更大的事情。

关于c++ - C++中的非虚函数与虚函数调用效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31350644/

相关文章:

c++ - 调试器卡在函数开始处

C++继承纯虚函数

c++ - 构造函数中虚函数的奇怪行为

c++ - 返回对象时如何更改返回对象基类函数的实现 C++

c++ - 字段访问 - C++ 中的多态和非多态类型

c++ - 为什么 rand() 给出相对接近的数字?

c++ - 整数位移

c# - 如何在 C# 中释放桌面应用程序的虚拟机/专用字节

c++ - Point 的运算符 +(Vector) - 但 Vector 使用 Point 并且在 Point 声明中未声明

c++ - 为什么我的输出流段错误并且我的虚拟析构函数不起作用但是当我杀死虚拟时它会起作用