C++23 Deducing this | 備忘録

備忘録

C++/DirectX/Metal 等のネタを書いていきます。
基本あちこちで解説されてるような内容は書かないです。
プログラミング以外のネタを書くこともありますが、備忘録なので消す可能性があります。

 どっかで見て「この提案、実装されて欲しいなぁ」と思ってたのが、C++23で採用されていたようです。

  P0847R7 Deducing this

 ちょっと面倒なのでサンプルコードは書かないけど(というか↑見て)、これがあれば非const版とconst版でほぼ同じコードのメンバ関数とかを、hoge(this T &self) とか書いてテンプレートにまとめられる。

 さらに、CRTPが、Curiously Recurring(不思議に再帰)する必要が無くなり、これまたthisをテンプレートにする(autoでもいける?)だけで書ける=メンバ関数テンプレートだけで良くなる。
 クラスのテンプレートパラメータが無くなるので、ポリモーフィズムを阻害しない。


 Xcodeのclangに来るのはまだ先だろうけど・・・・