【发布时间】:2016-01-14 14:58:09
【问题描述】:
有没有办法重载函数以区分参数在编译时或仅在运行时可评估?
假设我有以下功能:
std::string lookup(int x) {
return table<x>::value;
}
它允许我在恒定时间内根据参数 x 选择一个字符串值(有空间开销)。但是,在某些情况下,x 无法在编译时提供,我需要运行一个 foo 版本,它会以更高的时间复杂度进行查找。
我当然可以使用不同名称的函数,但我希望有一个统一的接口。
我接受了一个答案,但我仍然对完全相同的函数调用是否可以实现这种区别感兴趣。
【问题讨论】:
-
不幸的是,根据您的编辑,this question 的答案将显示“否”。如果有有方法,我一定会很想知道!
标签: c++ c++11 overloading