我们是否可以只为内联全局函数提供一个头文件,这意味着没有 .cpp 文件?

Can we just have a header file for the inline global function and that means no .cpp file?

我必须在我的程序中添加一个全局函数。我的全局函数体很小,所以我正在考虑使用内联。因为我们可以在头文件中定义内联函数的主体,所以为了确认,我们根本不需要 .cpp 文件?或者我遗漏了什么?

inline void foo()
{
    //function body
}

我的意思是,我们是否可以将该头文件添加到其他文件并使用该全局函数,或者 .cpp 文件是按照 CPP 标准实践所必需的?

#include foo-header-file
foo();

我对所有这些 CPP 概念都不熟悉。任何方向正确的指导都可以!

we don't need a .cpp file at all

main不能内联,所以你至少需要一个源文件。

As we can define the body of the inline function in the header, so to confirm, we don't need a .cpp file at all? Or I'm missing something?

是的,如果您在 header 中定义函数,则不需要源文件。但请记住,如果您编辑函数的 body,那么所有使用您的 header 的源文件都将被重新编译。这可能会导致更多的编译时间。

I mean, can we just add that header file to other files and use that global function or .cpp file is a must as per CPP standard practice?

是的,您的项目中至少需要一个 .cpp 文件。源文件是将被编译的文件,而不是 header 文件。 Header 文件在编译前将被复制到源文件,因此入口点(通常 int main() { ... })需要在源文件中。