C++函数与类

C++ - functors vs classes

本文关键字:函数 C++      更新时间:2023-10-16

所以,我最近发现了C++中的函子。如果我理解正确的话,它是一个有功能的结构。现在我知道它们很有用,因为你不需要那么多的硬编码,但我一直在想,当你上课的时候,它们真的有必要吗?

所以,我想问几个问题:

  1. 函子和类之间有什么区别?(obv.没有类{和结构{)
  2. 有什么是类不能做的吗?有什么是函子不能做的
  3. 函子真的那么必要吗

1:函子类/结构。定义了运算符()的一个。

2:n/a

3:没有什么是真正必要的。函数不能携带状态,若需要状态,就必须通过参数来处理,并围绕这些参数的生命周期工作。当您需要状态时,Functor很方便,并且可以将其保存在结构中。