在C ++中,我们有一些功能人们没有多想,就像我们可以执行使用方法/成员的类的方法,该方法/成员已在类中稍后声明,即:
struct s{
foo() { foo1();}
foo1() { assert(0); }
};
int main() {
s s1; s1.foo();
}
我已经知道编译器会在类定义之后放置成员定义,并且可以找到它,因此顺序无关紧要:Do class functions/variables have to be declared before being used?。我想知道的是,如果我们要使内联方法和编译器将尊重我们的请求并使它们真正内联它会如何工作呢?编译器会做任何额外的事情来重新排序整个类吗?