C + + 中“自由函数”一词的含义是什么?

在阅读 ost: : test 的文档时,我遇到了术语“ free function”。我所理解的是,free 函数是任何不返回任何内容的函数(它的返回类型为 void)。但是在进一步阅读之后,似乎自由函数也不接受任何参数。但我不确定。这些都是我的假设。有人能定义自由函数吗?

52619 次浏览

术语 自由函数在 C + + 中只是指非成员函数。每个非成员函数的函数都是自由函数。

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