你能内联静态成员函数吗?

时间:2012-02-11 22:33:19

标签: c++ inline static-methods

我有一个静态成员函数,它对我来说只是语法糖,我希望它的主体出现在通过参数传递给它的运动的位置。将

inline static foo(int a) {return a & 0x00000040;}

如果inline没有成为static就会被内联?

2 个答案:

答案 0 :(得分:17)

编译器选择它想做的事情,所以我们不能说它会选择做什么。也就是说,函数static不会阻止它被内联; static函数基本上是具有不同命名风格的自由函数,并且可以访问类的私有成员。

答案 1 :(得分:3)

静态成员方法没有this参数,因此只能访问静态成员变量。

与方法是否内联不同。所以这两者是相互独立的。

编译器决定是否要内联方法。您对关键字的使用仅仅是编译器的提示。