Pra*_*mar 5 c++ performance vtable c++11
我最近遇到了一个 C++ 面试问题,这让我很感兴趣:
假设您错误地将某个 C++ 成员函数声明为虚拟函数,但是(可能出于性能原因)您希望阻止编译器为该函数创建 v 表。也就是说,禁用动态函数绑定以支持静态绑定。
你将如何实现这一目标?另外,是否有一些 C++11 特定的方法来这样做?
bas*_*sav -1
您可以通过禁用 RTTI 来避免开销...有一个编译时开关。
一旦 RTTI 禁用标志启用,对于dynamic_cast/typeid 来说,不会有任何虚拟表调度的开销。
| 归档时间: |
|
| 查看次数: |
1452 次 |
| 最近记录: |