+ -
当前位置:首页 → 问答吧 → 关于C++的Virtual函数

关于C++的Virtual函数

时间:2011-12-13

来源:互联网

对一个非抽象类,virtual函数的地址不是记录在该类的VTABLE中,这意味着这个virtual函数不应该是inline函数,但是为什么可以将它定义在类的内部?定义在类的内部不是默认是inline函数么?
PS:是不是默认virtual就强制编译器生成函数,inline只是给编译器的一种建议..

作者: halonar   发布时间: 2011-12-13

inline只是给编译器的一种建议
inline并非强制性的,编译器会根据自己分析来决定是否使用inline规则,就算没有virtual关键字,如果这个inline函数很复杂,编译器也会不应用inline规则

作者: riyueming184   发布时间: 2011-12-13