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) { ... }
パラメータの受け渡しはコンパイラによって最適化されると思います。しかし、これを行うためのより良い方法はありますか?