前不久看了下 Effective C++,vritual 函数做成隐式内联总是不好的么

最近看了下 Effective C++,vritual 函数做成隐式内联总是不好的么?
如题所述,有说因为 virtual 是动态绑定的(如果是 base class 的 vritual 提供默认实现呢,做成隐式 inline 的可以么?)
------解决思路----------------------
虚函数设为inline可以让子类内联, 一般面向对象语言都有super关键字方便调用父类的相关函数.
------解决思路----------------------
struct A {
virtual int get () const { return 1 ; }
inline virtual int operator* () const {
cout << "A" << endl ;
return get () ;
}
} ;

struct B :public A {
using super = A ;
virtual int get () const override { return -1 ; }
inline virtual int operator* () const override {
return super::operator* () ;
//super::operator* 函数 A::operator* 没有地址,可能是因为编译器优化。
//B::operator* 0x000000013f481010 {routine.exe!B::operator*(void)} int (void) *
}
} ;

int main () {
A *p = new B () ;
cout << **p ;
return 0 ;
}

------解决思路----------------------
就算是virtual函数,编译时能确定调用哪个的话,会优化。不写inline的时候也可能会内联。