0

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

所以,我想问几个问题:

  1. 函子和类有什么区别?(obv. 没有 class { 和 struct { )
  2. 有什么是你不能用类做的,你可以用函子做什么?
  3. 函子真的那么必要吗?
4

1 回答 1

2

1:仿函数一个类/结构。一个定义了 operator()。

2:不适用

3:没有什么是真正必要的。一个函数不能携带状态,如果需要状态,它必须通过参数进行处理,并在这些参数的生命周期内工作。当您需要状态并可以将其保存在结构中时,Functor 会派上用场。

于 2013-06-21T11:47:41.097 回答