重载运算符有地址吗?

时间:2018-10-18 13:41:24

标签: c++

重载运算符是否有地址,我可以将它们放入向量中,例如像这样的vector<int> v = { &operator(+),&operator(-),&operator(*),&operator(/) };,然后如果我写这个int a= 1(*v[0])2等于a=1+2=3

1 个答案:

答案 0 :(得分:3)

您可以使用指针在其中运行和存储lambda。这样的事情:

auto plus = [](auto a, auto b) { return a + b; }
auto minus = [](auto a, auto b) { return a - b; }
...
vector<decltype(plus)> v = {plus, minus, ...}