C++中的内联函数中的返回语句实际上会返回并终止代码流吗?

kar*_*tik 6 c++ inline

我正在阅读C++中的内联函数,主要是我理解的是编译器将复制粘贴内联的函数代码.如果内联函数包含一个return语句,并且该函数在某些其他函数中使用,它会导致调用函数终止并返回吗?

作为一个例子考虑

inline int foo(void) {
return 1;
}

int bar(void) {
//Some statements
foo()
//Some more statements
return 2;
}
Run Code Online (Sandbox Code Playgroud)

因为代码是由编译器复制粘贴的,所以foo()in bar()会在bar到达return 2;行之前返回吗?另外,如何在内联函数中处理return语句?我明白这不会破坏现在的代码流,但如果代码被复制粘贴或内联,如何处理return语句?

Eit*_*n T 9

内联函数不仅仅是一个简单的复制粘贴过程(与预处理器宏相反).它们的行为与普通函数类似,因此任何返回值都会像普通函数一样反映给调用者.