contenttaichino.com永遠のネバーランド行列計算ライブラリのBlitzのコードがカッコいい件iOSで行列計算したいなーという事で、ちょろちょろ調べているとBlitzっていうC++のライブラリが見つかったんですけど、すごくカッコよくてビックリしました。このライブラリ使うと以下のようなノリで行列計算が出来ます。AとBを初期化してる部分がエレガント過ぎますね。0;}C++でこんなんどうやって実現すんの?と思ってコードを読んでみると、operator=とoperator,を上手く組み合わせて実装されていました。C++にoperator,なんてあったんですね。下記が該当部分を抜粋したものになります。}...}Arrayのoperator=でListInitializationSwitchを、そのoperator,で今度はListInitializerを返しています。後はListInitializerのoperator,で順々に行列を初期化する流れになっています。Switchクラスを噛ませている理由がパッと分からないのですが、さっきの行列代入処理をエレガントに書く為の執念を感じて感動しました。久々に美しいC++を見て、あぁこういうプログラミングもあったぁと思い出しまして、ここ数年PythonとかCocoaとかお膳立てされた環境で、API組み合わせるばっかりだったなぁと妙に反省させられた今日この頃です。