【问题标题】:Should I receive a function by copy, reference or const reference?我应该通过复制、引用还是常量引用来接收函数?
【发布时间】:2014-06-02 05:45:45
【问题描述】:

在定义带有函数参数的函数时,我应该通过复制、引用还是 const 引用来接收 lambda/std::function

还是全部三个?

【问题讨论】:

  • 这也取决于你打算用它做什么。你能告诉我们更多吗?
  • 对于std::function,我会选择复制。
  • @Dai 我正在考虑实现函数式编程的“地图”的情况。

标签: c++11 function-pointers function-object


【解决方案1】:

我会选择 const ref。 const 是因为函数不应该被更改,而 ref 是因为接受参数的函数不必检查 null。

但不要相信我的话,这将取决于具体情况。这是一个提供其他观点的重复帖子:

Should I pass an std::function by const-reference?

【讨论】:

  • 有状态的函数对象?
  • 最好小心捕获某些值或引用的函数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-01
  • 2017-06-06
  • 2012-09-14
  • 1970-01-01
  • 2023-04-07
  • 2015-04-10
  • 2012-01-13
相关资源
最近更新 更多