C++中术语"自由函数"的含义是什么?

Jam*_*ame 84 c++

在阅读boost :: test的文档时,我遇到了"自由函数"这个术语.我理解的是,自由函数是任何不返回任何函数的函数(它的返回类型为void).但在进一步阅读后,似乎自由函数也没有任何论据.但我不确定.这些都是我的假设.任何人都可以定义自由功能吗?

Geo*_*che 97

C++中的术语自由函数仅指非成员函数.每个不是成员函数的函数都是自由函数.

struct X {
    void f() {}               // not a free function
};
void g() {}                   // free function
int h(int, int) { return 1; } // also a free function
Run Code Online (Sandbox Code Playgroud)

  • 通常,您会在头文件中声明它们并在单独的源文件中实现它们(有一些例外,如模板函数).最好在这个特定主题上打开一个新问题,以便人们可以更详细地回答你. (4认同)