【发布时间】:2022-01-10 21:15:52
【问题描述】:
我想知道是否可以使用模板为操作员创建通用代码。考虑一个简化的示例,该示例演示了我正在尝试做的事情。
template<operator O>
int do_thing(int a, int b) {
return a O b;
}
int main() {
// expected to return 10
int foo = do_thing<operator+>(7, 3);
// expected to return 4
int bar = do_thing<operator->(7, 3);
return 0;
}
我能表达出这样的话吗?我有几个相同的功能,除非它们之间有一个不同的操作,我觉得必须有一种方法可以更清晰地表达。
【问题讨论】: