6

可能重复:
C++ 中的“自由函数”一词是什么意思?

我不确定什么是独立功能。

它是在类内还是与主类和类外的正常功能相同?

4

3 回答 3

6

独立函数只是一个普通函数,它不是任何类的成员,并且位于全局命名空间中。例如,这是一个成员函数:

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

这是一个独立的:

SomeClass add( SomeClass one, SomeClass two );
于 2012-10-09T06:59:35.730 回答
3

一个独立的函数通常是

  • 一个不属于任何classor的全局函数namespace
  • 服务于做某事的单一目的(例如实用程序strcpy()

应该明智地使用它们,因为太多会使代码混乱。

于 2012-10-09T07:00:11.080 回答
3

独立功能是不依赖于任何可见状态的功能:

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

max是一个独立的功能。

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

于 2012-10-09T07:00:42.730 回答