inline 与 virtual

来源:互联网 发布:java拉姆达表达式 编辑:程序博客网 时间:2024/06/05 00:24

函数前面加了inline是向编译器进行建议,将该函数定义为内联函数,编译的时候,在调用该函数的位置进行展开。但只是一种建议,不能强制编译器执行。

我们知道虚函数是c++多态的一种方式。在继承层次的虚函数关系下,具体调用哪一个虚函数是运行时决定的。在这种情况下的虚函数加了inline,显然编译器不会进行inline的处理。

但是虚函数也是以可以静态调用的,即静态绑定了而不是new 的对象,那么应该可以inline展开。


virtual 和 static 不能同时修饰一个函数。

原创粉丝点击