【发布时间】:2013-07-13 08:16:43
【问题描述】:
是否可以在 C++ 中使用类似于函数参数的某种标识符来重载函数?这将允许更轻松地使用模板。它还可以使代码在我的特定情况下看起来更好,我没有详细解释。
如果这没有多大意义,而且老实说我什至不知道正确的关键字(请告诉我),这里有一个玩具示例:
我想写这样的东西
function(i);
function(special_action);
function(special_action_2);
这样理解
function(i);
function_special_action();
function_special_action_2();
实现这一目标的最佳方法是什么?到目前为止,我已经尝试过这样的虚拟枚举:
// normal action
void function(int i) { ... }
// special actions
enum dummy_enum_for_special_action { special_action };
void function(const dummy_enum_for_special_action & dummy) { ... }
我猜参数传递将被编译器优化掉。但是,有没有更好的方法来做到这一点?
【问题讨论】:
标签: c++ function enums arguments identifier