24/11/14 14:52:24.21 a5xmyjQfa.net
>>553
若い人がCからC++の増築増築で可笑しくなって行った歴史をなぞるのは無意味ではない
>>554-555
Objective-C や Objective-C++ の方がまし
やる気は無いけどObjectPASCALはDelphiだっけ
561:デフォルトの名無しさん
24/11/19 11:41:41.34 1x1cv+pZH.net
演算子のオーバーロードない言語はダメだ
562:デフォルトの名無しさん
24/11/19 11:53:31.53 5+FMYvHmM.net
演算子オーバーロードがもたらす言語仕様の複雑性を理解してたら軽々しくそういうことは言えない
563:デフォルトの名無しさん
24/12/08 01:45:50.04 EhZF4lXKz
5chの管理人がRustマンセー野郎でRustの悪口言ったらBBS規制になっちまった。
それでこっちに書いときます。eigenという行列演算、線形代数ライブラリが
ありますが、これ列主順なんですね。なので、[]演算子のオーバーロードでは
行列Aのi行j列の要素にアクセスするときにA[j][i]という奇妙な順番でないと
いけない。それでeigenでは行列に対してA[i][j]みたいなサポートはしていない。
だから[]ではなく[][]演算子みたいな拡張がほしいと思いました。
564:デフォルトの名無しさん
24/12/08 02:15:01.21 EhZF4lXKz
マトリックスクラスを宣言すると
matrix_<double> a[3][3];
で何の対策もせずに、a[0][1][2][3]=1; みたいなアクセスは問題なくできるんですよ。
サイズ宣言時にa[3][3](3,3);というダサい形に。でもこれはstdsize(3,3);とでもして
おけば解決します。でも、列主順のときにはa[j][i]がネックに。()演算子なら列主順
だろが行主順だろが問題なくオーバーロードで解決できるんですが、A(i,j)の添字が0
から始まるのはfortran使っていた自分には違和感があります。
それでA[i,j]? C言語のA[i][j]の伝統を捨てるんですか? 感性の問題ですけど。
565:デフォルトの名無しさん
24/12/08 17:15:54.70 EhZF4lXKz
なるほど。C#に引っ張られたわけですね。a[i][j]の ][ を , に置き換えるプログラム
を作成すれば大きな影響もなく変換できそうですね。
でも、a[i][j]は残すんですよね?残さないと、ブーイングもしくはC++23もういいわ
になりそう。