(2)しかし、メンバ関数の定数性をパラメータ化することも可能ですか?いいえ、あなたがすることはできません。あなたはthis指し示す暗黙のオブジェクトへの関数シグネチャでアクセスすることができないので、あなたはそれをディスパッチしたりそれをテンプレートにすることはできません。メンバー関数のcv修飾子は綴らなければなりません。UBを回避するためにconstを呼び出す)で呼び出すことができます。}};self()がWrapper<Foo>ような予期しない型に対して見つけられないことを保証するためにSFINAEが必要です。これは元のコードよりもかなり長いので、実際には複雑なロジックを使用している場合にのみ意味があります。UFCSが採用されたならば、きっとおかしくないでしょう。constオーバーロードを書きます。テンプレートは、関数名自体とは別に、関数シグネチャに関するほとんどのものをパラメータ化可能にします。回避策は単純明快で、おそらくもっと読みやすく、意図は明らかです。const`の違い日本語Top。