未分類

C++では関数を呼び出す際の引数指定で、引数名指定ができません。例えばpythonなどは、

def func(a=1,b=2,c=3):
	print(f'{a},{b},{c}')

func(3,2,1) # 3,2,1
func() # 1,2,3
func(b=1) # 1,1,3
func(c=1,a=3) # 3,2,1

のように、いろいろな指定が出来て、3番目の例のように引数名で指定することができます。

今回はC++でなんとか近い実装を無理矢理できないか、調べてみました。なんとかそれっぽいのが部分的に出来てます(?)が、実際使うか?と言われると難しい感じの代物です。アイデアだけ役に立つこともあるかも程度の話です。