C++相談室 part165at TECH
C++相談室 part165 - 暇つぶし2ch1:デフォルトの名無しさん (ワッチョイ efda-9b8G)
23/10/31 07:37:38.52 +ZyYyqMO0.net
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
C++相談室 part164
スレリンク(tech板) VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

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もういいわ
になりそう。


2から表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch