두 클래스가 foo
및 bar
인데 하나는 다른 클래스의 수퍼 클래스이고 두 메서드 모두 hello_world
입니다.C++ 가상 함수 성능
class foo {
virtual void hello_world();
};
class bar : public foo {
void hello_world();
};
내 질문은 : 어떤 성능 차이가 나는 bar
의 hello_world
에 대한 가 가상 할 경우? 그것은이 될 것이다 : 나는 주로 bar
에서 hello_world
를 호출합니다
class foo {
virtual void hello_world();
};
class bar : public foo {
virtual void hello_world();
};
. 가상 함수가 기능을 느리게 만들 수 있다는 것을 알고 있습니다. 런타임을 조회하기 때문에 입니다. 그러나이 경우에는 어떤 차이가 있습니까?
예제 코드가 구문 적으로 유효하지 않기 때문에 당신이 묻는 것을 정확히 알기가 어렵습니다. 그러나 이미 가상 함수 (가상 함수로 상속 되었기 때문에)에 가상 키워드를 추가하면 성능이 변경되는지 여부를 묻는 경우에는 '가상'키워드가 아무런 영향을 미치지 않습니다 . –
합리적인 테스트를 설정하면 실제로 측정 할 수 있습니다. 몇 년 전의 일을 정확히 기억하고 있으며 오버 헤드가 걱정할 가치가 없다는 것을 알았습니다. 어쩌면 당신의 어플리케이션에 대해 걱정할 가치가 있을지 모르나 나는 의심 스럽다. – paddy
이 질문은 종료되어서는 안됩니다. 그것은 구체적이고, 답답하며 주제에 관한 것입니다. –