如果我在虚函数中使用内联函数会发生什么?我很困惑与像 http://www.parashift.com/c++-faq-lite/value-vs-ref-semantics.html#faq-31.6虚函数内联函数会发生什么情况?
我能理解它的问题,但就是意味着,它将非必要使用虚函数里面(电话)内联函数(请假设它是动态调用)?
class Wrapper
{
public:
inline void doInlineJob() {;}
};
class Base
{
virtual void foo()
{
//Do something
}
};
class Derived: public Base
{
void foo()
{
wrapObj.doInlineJob();
}
Wrapper wrapObj;
};
的parashift链接似乎被发现在它的解释给我。哪一点让你感到困惑?记住内联是编译器的_hint_ – zebrabox 2010-02-21 15:33:43
谢谢大家的回复。 @zebrabox我徘徊doInlineJob()实际上是内联。 (比如我们在VC++中使用__forceinline) – Morpheus 2010-02-21 15:47:58
@Morpheus。我明白了。正如其他人比我更有说服力和更明确地说,它很可能被内联,因为Derived :: foo不是虚拟的 – zebrabox 2010-02-21 16:30:30