Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++11 我应该通过复制、引用或常量引用接收函数吗?_C++11_Function Pointers_Function Object - Fatal编程技术网

C++11 我应该通过复制、引用或常量引用接收函数吗?

C++11 我应该通过复制、引用或常量引用接收函数吗?,c++11,function-pointers,function-object,C++11,Function Pointers,Function Object,定义采用函数参数的函数时,我应该通过复制、引用还是常量引用接收lambda/std::function 还是全部三个?我会选择const ref.const,因为函数不应该被更改,而ref是因为使用参数的函数不必检查null 但别相信我的话,这要视情况而定。这是一篇提供其他观点的重复文章: 这还取决于你打算用它做什么。你能告诉我们更多吗?对于std::function,我会选择copy。@Dai我正在考虑实现函数编程的“映射”的情况。具有状态的函数对象?最好小心捕获一些值或引用的函数。

定义采用函数参数的函数时,我应该通过复制、引用还是常量引用接收lambda/
std::function


还是全部三个?

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

但别相信我的话,这要视情况而定。这是一篇提供其他观点的重复文章:


这还取决于你打算用它做什么。你能告诉我们更多吗?对于
std::function
,我会选择copy。@Dai我正在考虑实现函数编程的“映射”的情况。具有状态的函数对象?最好小心捕获一些值或引用的函数。