相关疑难解决方法(0)

虚拟函数编译器优化C ++

class Base 
{
public:
    virtual void fnc(size_t nm) 
    {
        // do some work here
    }

    void process()
    {
        for(size_t i = 0; i < 1000; i++)
        {
            fnc(i);
        }
    }
}  
Run Code Online (Sandbox Code Playgroud)

考虑到每次在循环内被调用时,c ++编译器都将是同一个函数,因此c ++编译器能否并且是否将从进程功能中优化对fnc函数的调用?还是每次调用该函数都会从vtable获取函数地址?

c++ virtual function

5
推荐指数
1
解决办法
752
查看次数

标签 统计

c++ ×1

function ×1

virtual ×1