第三章 (15) 虚函数的开销

2022-09-05  本文已影响0人  耕田者

        虚函数的其他开销都是间接的,比如虚函数不能内联(inline)(请记住,事实并非总是如此),另外虚函数会禁止某些的编译器优化选项,这会在接下来的章节中探讨。另一个更间接的虚函数的开销是多态的常见用法,即通过new动态创建多态对象。动态内存分配会破坏CPU数据访问局部化从而增加开销,这会在接下来的某个小节中讨论到,所以滥用多态也会对程序性能造成负面影响。所以,应当时时审视设计本身!

       可以看到,虚函数的开销是存在的但并不是非常大,通常也是可以避免的。实践中,应该采取先测量的策略。

上一篇 下一篇

猜你喜欢

热点阅读