【发布时间】:2021-04-12 20:54:23
【问题描述】:
假设我们有一个像这样声明的add 函数:
int add(const int a, const int b);
如果我们要从 foo 返回这个 add 函数...
std::function<int(const int, const int)> foo()
{
return add;
}
std::function<int(const int, const int)> foo()
{
return &add;
}
以上哪一项是返回函数对象的正确方法,因为两者的工作方式完全相同?
【问题讨论】:
-
还要考虑
auto foo() -> int(&)(int, int) { return add; },其中&add不起作用,所以有一个“正确”的方法
标签: c++ pointers function-pointers functor function-object