【发布时间】:2017-07-28 14:21:58
【问题描述】:
假设我想制作一些constexpr 函子,但我可以使用bind 来做到这一点。有什么我想念的吗?为什么bind 不能返回constexpr?
给定:
struct foo {
int b() const { return _b; }
int a() const { return _a; }
int r() const { return _r; }
const int _b;
const int _a;
const int _r;
};
我想:
constexpr auto sumB = bind(plus<int>(), placeholders::_1, bind(&foo::b, placeholders::_2));
constexpr auto sumA = bind(plus<int>(), placeholders::_1, bind(&foo::a, placeholders::_2));
constexpr auto sumR = bind(plus<int>(), placeholders::_1, bind(&foo::r, placeholders::_2));
我可以做些什么来完成这项工作吗?
【问题讨论】:
-
现在的问题可能是“为什么不能”但“为什么不能”。它可能可以,但它没有。
-
@NathanOliver 我认为这将是一个很好的答案。你介意发帖吗?
标签: c++ c++11 bind functor constexpr