C++有三种方式实现内联函数:
1. 将函数的定义写在类定义的内部;
2. 在类定义内部的函数声明上用inline显式指定;
3. 在类定义体外部的函数实现上用inline显式指定;
#include <iostream>
using namespace std;
class Sample
{
public:
void inline01(){cout<<"";}
inline char inline02() const;
int inline03();
};
char Sample::inline02() const
{
return 'w';
}
inline int inline03()
{
return 0;
}
using namespace std;
class Sample
{
public:
void inline01(){cout<<"";}
inline char inline02() const;
int inline03();
};
char Sample::inline02() const
{
return 'w';
}
inline int inline03()
{
return 0;
}
但是需要注意的是inline并不是强制的,编译器可以决定标有inline的函数不做inline,程序里的inline或者上面的任何三种写法都是一个hint,但是编译器可以不采纳,virtual和inline也可以一起使用,但这时inline就没什么作用了。