C++相談室 part166 (703レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
657
(5): デフォルトの名無しさん (ワッチョイ 4640-RvFB) [sage] 2025/09/25(木) 17:00:57.66 ID:/3f9OB3n0(1) AAS
>>656
お前テンプレートプログラミングの素人さんだよね
658
(6): デフォルトの名無しさん (ワッチョイ 0679-P6+q) [sage] 2025/09/25(木) 20:40:29.81 ID:tx4jrZ/E0(2/3) AAS
>>657
自己紹介乙w
Expression Template使って線形代数のライブラリ作った人間だが、ETで利用者がauto使うとどういう問題が起きるか答えてみ
まさか分かりませんとか言わないよな?
テンプレート使ったライブラリ(てか標準ライブラリ)を"利用する"しかしたことのない人間が調子に乗るな
676: デフォルトの名無しさん (ササクッテロラ Sp23-P6+q) [sage] 2025/09/26(金) 13:15:19.27 ID:4po4sxfpp(1/6) AAS
>>657-658
679
(1): デフォルトの名無しさん (ササクッテロラ Sp23-P6+q) [sage] 2025/09/26(金) 14:04:20.28 ID:4po4sxfpp(3/6) AAS
>>657-658
ETの話はここで出した。

で、俺のautoの使い方に関する意見は>>656

自分が何をやってるか良く考えてからレス書き直せ
683: デフォルトの名無しさん (ササクッテロラ Sp23-P6+q) [sage] 2025/09/26(金) 14:24:32.42 ID:4po4sxfpp(6/6) AAS
バカが屁理屈書いてきそうだから再三言うが、>>658>>657を叩くために出した問いに過ぎない
「意図しないコードになる」という話

これだからお前には絡みたくないんだよマジ鬱陶しい
696
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ 7f32-VPhE) [sage] 2025/09/27(土) 17:37:01.17 ID:nSvwU9re0(1/2) AAS
>>681
コンストラクタや代入演算子で実際の計算を起動する方式も支持があるのは知ってるよ。
だからその代表例として有名どころの Eigen を話題に出したのだし、そこに齟齬はない。
その上で唯一の方式ではないし悪い設計だと言ってる。

私に反論するならどうしてそんな方式を取るのか利点 (悪い設計ではない理由) を説明すべきだった。
「数値計算で expression template を使うときは普通」なんて情報量ゼロのことを書かれても何の意味も感じられない。

コンストラクタや代入演算子をトリガーにするのは expression template を最適化として使う考え方だ。
つまり見かけ上は普通に式を書いてるだけなのに実は高速化しているというのがキモで、普通の式である「かのように」見える抽象化に意味がある。

実際の型を意識せざるを得なくなった段階で抽象化は破綻してる。
auto を使ったら何が起こるかを意識しなければならないのはライブラリ設計の失敗なんだよ。
隠れていたりいなかったりする半端な抽象化層を悪い設計と呼ぶのは間違ってるか?

> 再三言うが、>>658>>657を叩くために出した問いに過ぎない
> 「意図しないコードになる」という話

そんなので意図しないコードになってしまうような作りのライブラリは出来が悪いという話なのはかわらん。
様々な事情に配慮してそうならざるを得ないということもあるというのならわかるが、
そうじゃなくて「それが普通なんだ」と思い込んだ狭い見識での判断なんだろ?

型を書くか auto にするかはスタイルの問題で、どちらを使うかで挙動が切り替わってしまうような設計のライブラリが本当にまともか?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s