- 696 名前:はちみつ餃子 mailto:sage [2025/09/27(土) 17:37:01.17 ID:nSvwU9re0.net]
- >>681
コンストラクタや代入演算子で実際の計算を起動する方式も支持があるのは知ってるよ。 だからその代表例として有名どころの Eigen を話題に出したのだし、そこに齟齬はない。 その上で唯一の方式ではないし悪い設計だと言ってる。 私に反論するならどうしてそんな方式を取るのか利点 (悪い設計ではない理由) を説明すべきだった。 「数値計算で expression template を使うときは普通」なんて情報量ゼロのことを書かれても何の意味も感じられない。 コンストラクタや代入演算子をトリガーにするのは expression template を最適化として使う考え方だ。 つまり見かけ上は普通に式を書いてるだけなのに実は高速化しているというのがキモで、普通の式である「かのように」見える抽象化に意味がある。 実際の型を意識せざるを得なくなった段階で抽象化は破綻してる。 auto を使ったら何が起こるかを意識しなければならないのはライブラリ設計の失敗なんだよ。 隠れていたりいなかったりする半端な抽象化層を悪い設計と呼ぶのは間違ってるか? > 再三言うが、>>658は>>657を叩くために出した問いに過ぎない > 「意図しないコードになる」という話 そんなので意図しないコードになってしまうような作りのライブラリは出来が悪いという話なのはかわらん。 様々な事情に配慮してそうならざるを得ないということもあるというのならわかるが、 そうじゃなくて「それが普通なんだ」と思い込んだ狭い見識での判断なんだろ? 型を書くか auto にするかはスタイルの問題で、どちらを使うかで挙動が切り替わってしまうような設計のライブラリが本当にまともか?
|

|