![]() |
1
20
函子可以(和) 将
因此,函子有一个真正的性能优势,这在紧循环中可能是巨大的。此外,函子通常更容易组合,尤其是在STL中发挥更好的作用:
我讨厌它们把代码弄得乱七八糟,但考虑到所有的优点,我更喜欢它们而不是函数指针。 |
![]() |
2
11
然而,在实践中,主要是为编译器提供足够的信息来进行有效的优化。 例如Visual C++ 2008,给出了以下代码:
|
![]() |
3
7
与函数指针相比,函数对象的一大优点是,您可以更轻松地在函数对象构造时绑定一些参数。
这种参数的“绑定”可以很好地用 boost::bind 和 boost::function |
![]() |
4
6
我的意见-#1更好,因为它更简单。
|
![]() |
5
1
函子可以是 more easily inlined 因此,当性能重要时,它可能是一个考虑因素。 |
![]() |
6
1
(有时你不得不对C++语法感到失望) |
|
Julia · 矢量中相加为总和S的值的数量 2 年前 |
![]() |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 2 年前 |
![]() |
quantumwell · 将空向量放入std::map() 7 年前 |
![]() |
OutOfBound · 对未初始化内存使用算法的优点 7 年前 |
![]() |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 7 年前 |