c++ - 接受一个参数并返回它的函数

标签 c++ functional-programming

有一件事一直萦绕在我的脑海中。只需考虑这个功能:

template<typename T>
T foo(const T& value)
{
    return value;
}

它是任何给定值的最简单的函数包装器。但是,我一直想知道它是否有一个“标准名称”(许多人会认出,例如 map、filter、sqrt 等函数...)。它们是需要使用此类功能的众所周知的问题吗?

最佳答案

原则上它是一个恒等函数,但实际上它会强制复制参数。

因此,如果 T 具有值语义,它仍然是一个真实身份。 否则,它是一个克隆函数。

一个完美的身份应该是

template<typename T>
const T& identity(const T& value)
{
    return value;
}

关于c++ - 接受一个参数并返回它的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11537610/

相关文章:

c++ - decltype 在函数参数中的使用

error-handling - 如何将 fold 与 Result 返回值一起使用?

function - 标准 ML : Return different types

javascript - 以函数式方式向 js 对象添加字段

Java 8 按顺序生成唯一的数字对

c++ - 变量是否在连续的结构中并排声明?

c++ - 是什么导致 OpenSSL 出现段错误?

c++ - 在 CGAL 中查找两个二维三角形的交集/差集的三角剖分结果

scala - 在scala中根据条件创建两个列表

c++ - 在C++中删除链表下一个指针