using
ステートメントをコンストラクタの初期化リストに組み込むにはどうすればよいですか?例えば、むしろusingステートメントは、コンストラクタの初期化リストに表示できますか?
foo::foo(int a, int b, int c) : a(a), b(b), c(something_long::tada(c)) {}
より
私は
// Invoking some 'using something_long::tada;' magic
foo::foo(int a, int b, int c) : a(a), b(b), c(tada(c)) {}
を持っていると思いますおそらくこれは、このコード領域に必要な間抜けのtry/catch構文のようになります。機能的には、文を使用することを許可することは重要であると感じ、something_long::tada(c)
とusing something_long::tada; tada(c)
はKoenigルックアップごとに異なる動作をすることができます。
新しい機能で 'something_long :: tada(c)'をラップすることはありますか?静的な私的な機能のように。 – billz
巧妙ですが、別のヘッダーファイルを作成するための余計な努力が実際に名前空間を入力する必要はありません。 – Yuushi
@ Yuushi-これは原理的にこれを行うことが可能であることを示す概念の証明にすぎません。私は完全に同意するが! – templatetypedef