什么是独立函数?

6

7
这不是一个正式的术语。我们有一个合理的想法,但可能会称其为“自由函数”(free function)。 - MSalters
3个回答

6

独立函数是指普通函数,不属于任何类,并且位于全局命名空间中。例如,下面是一个成员函数:

class SomeClass
{
public:
    SomeClass add( SomeClass other );
};
SomeClass::add( SomeClass other )
{
    <...>
}

这是一个独立的段落:

SomeClass add( SomeClass one, SomeClass two );

所以独立函数类型必须是类吗?还是像普通函数一样,你可以随意命名并从主函数中获取数据? - Rex Rau
@Rex,不一定是这个,这只是一个随机的例子 ;) - SingerOfTheFall

3

独立函数是不依赖于任何可见状态的函数:

int max(int a, int b) { return a > b ? a : b; }

这里的max是一个独立函数。

独立函数是无状态的。在C++中,它们被称为自由函数。


3

独立函数通常是:

  • 全局函数,不隶属于任何 classnamespace
  • 专门用于完成某项特定任务的函数(例如实用工具函数,如 strcpy())。

适当使用它们,因为过多的独立函数会导致代码混乱无章。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接