C++相談室 part166 (699レス)
C++相談室 part166 http://mevius.5ch.net/test/read.cgi/tech/1745631298/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
681: デフォルトの名無しさん (ササクッテロラ Sp23-P6+q) [sage] 2025/09/26(金) 14:13:42.65 ID:4po4sxfpp あといちいち知ったかぶってるバカに教えてやるのも腹が立つが、普通数値演算でET使うときは代入演算子やコンストラクタに式を渡した場所で初めて式を展開するんだよ (autoでわざと評価を遅延させることも可能だと書いただろアホ) Eigenでも多分そう もちろんboost::spiritとかの構文解析ならパース処理の関数に渡すまで展開しないだろうが http://mevius.5ch.net/test/read.cgi/tech/1745631298/681
696: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7f32-VPhE) [sage] 2025/09/27(土) 17:37:01.17 ID:nSvwU9re0 >>681 コンストラクタや代入演算子で実際の計算を起動する方式も支持があるのは知ってるよ。 だからその代表例として有名どころの Eigen を話題に出したのだし、そこに齟齬はない。 その上で唯一の方式ではないし悪い設計だと言ってる。 私に反論するならどうしてそんな方式を取るのか利点 (悪い設計ではない理由) を説明すべきだった。 「数値計算で expression template を使うときは普通」なんて情報量ゼロのことを書かれても何の意味も感じられない。 コンストラクタや代入演算子をトリガーにするのは expression template を最適化として使う考え方だ。 つまり見かけ上は普通に式を書いてるだけなのに実は高速化しているというのがキモで、普通の式である「かのように」見える抽象化に意味がある。 実際の型を意識せざるを得なくなった段階で抽象化は破綻してる。 auto を使ったら何が起こるかを意識しなければならないのはライブラリ設計の失敗なんだよ。 隠れていたりいなかったりする半端な抽象化層を悪い設計と呼ぶのは間違ってるか? > 再三言うが、>>658は>>657を叩くために出した問いに過ぎない > 「意図しないコードになる」という話 そんなので意図しないコードになってしまうような作りのライブラリは出来が悪いという話なのはかわらん。 様々な事情に配慮してそうならざるを得ないということもあるというのならわかるが、 そうじゃなくて「それが普通なんだ」と思い込んだ狭い見識での判断なんだろ? 型を書くか auto にするかはスタイルの問題で、どちらを使うかで挙動が切り替わってしまうような設計のライブラリが本当にまともか? http://mevius.5ch.net/test/read.cgi/tech/1745631298/696
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.250s*