我一直想知道为什么我读过的大多数代码和教程总是在类内部声明成员函数,然后像这样在外部定义它。
class A{
A doSomething();
};
A A::doSomething(){
//doing something
}
而不是这样做
class A{
A doSomething(){
//doing something
}
};
无论如何,我正在修改我教授的课程,我发现了这个:
“ Toute fonction member définie dans sa classe (dans la declaration de la classe) est considerée par le compilateur comme une fonction inline。Le mot clé inline n'est plus utilisé。 ”
翻译成;
“在其类中(在类的声明中)定义的所有成员函数都被编译器视为内联函数。不再使用关键字'inline' ”
我的理解是内联函数的工作类似于宏。编译器将整个代码块复制到调用该函数的每个实例中。
我的问题是;我的教授课程中的陈述是否正确,如果正确,其背后的原因是什么?