c++のtemplateって便利ね

未分類
1:なんJゴッドがお送りします2022/04/26(火) ID:YhEstEHPa

でも多分書いた人以外は読みづらいんだろうなぁとも思う


2:なんJゴッドがお送りします2022/04/26(火) ID:maySjw2S0

俺はできるだけ使ってほしいわ
読む量が少なくなる方が嬉しい


5:なんJゴッドがお送りします2022/04/26(火) ID:YhEstEHPa

>>2
確かにコードは減るかも?
構造自体が統一されていくから余程巨大なモジュールでなければいいのか
でもcrypto++とか読んでて吐きそうになった


4:なんJゴッドがお送りします2022/04/26(火) ID:fWfQPz7na

rustのmacroみたいなやつ?


7:なんJゴッドがお送りします2022/04/26(火) ID:YhEstEHPa

>>4
rustやったことないや……
ざっくり型推論の拡張みたいな感じ


8:なんJゴッドがお送りします2022/04/26(火) ID:maySjw2S0

>>4
俺もrust知らんけどマクロとは違うと思うよ
多分同じ機能はあると思うけど


6:なんJゴッドがお送りします2022/04/26(火) ID:fWfQPz7na

ジェネリクスのあるクラス?C++触ったことないからわからん



9:なんJゴッドがお送りします2022/04/26(火) ID:fWfQPz7na

ジェネリクスのことをC++だとテンプレートっていうのか


14:なんJゴッドがお送りします2022/04/26(火) ID:YhEstEHPa

>>9
ごめん俺が余計なこと言ったかも
ジェネリクスであってる


15:なんJゴッドがお送りします2022/04/26(火) ID:fWfQPz7na

テンプレートガンガン使っていこう
型ごとに実装書いてたら気が遠くなる


16:なんJゴッドがお送りします2022/04/26(火) ID:maySjw2S0

テンプレートとかジェネリクスは使ってるときめっちゃ楽しい
綺麗な構造が作れる感覚


19:なんJゴッドがお送りします2022/04/26(火) ID:6suYXbMfa

C#だけどlistとかmapは便利だな

ジェネリクス使ったクラス作るのは面倒そうだが


25:なんJゴッドがお送りします2022/04/26(火) ID:YhEstEHPa

>>19
それがやってみると結構便利なのよね
でもうまい伝え方がなかなか浮かばない……


20:なんJゴッドがお送りします2022/04/26(火) ID:YhEstEHPa

いや違うな
上物やってるから……は関係ないなすまん


26:なんJゴッドがお送りします2022/04/26(火) ID:fWfQPz7na

ジェネリクスないクラスとかいちいち型名付けたクラス書かなきゃいけないってことだろ?辛くね


32:なんJゴッドがお送りします2022/04/26(火) ID:fWfQPz7na

すごい遠回りでどんな話題からも高速フーリエ変換出してくる
ここ1年レスバして4,5回は出された


33:なんJゴッドがお送りします2022/04/26(火) ID:maySjw2S0

ジェネリクスとかデリゲートや関数ポインタとか大好きだけどあんまり使うと嫌がられて悲しい


34:なんJゴッドがお送りします2022/04/26(火) ID:YhEstEHPa

関数ポインタはc++だとvtableでの悪行が頭をよぎってしまい……


36:なんJゴッドがお送りします2022/04/26(火) ID:sFdpgsng0

templateで驚けるならC#使えば泡吹いて倒れると思うよ


39:なんJゴッドがお送りします2022/04/26(火) ID:sFdpgsng0

ジェネリクス無しだと無数に同じコード書くハメになる
C言語みたいな古代語だと無数に同じコードを書く必要がある

マクロを使っても本質的には変わらない


40:なんJゴッドがお送りします2022/04/26(火) ID:maySjw2S0

実際はCでも同じことは実現できるけど余計な情報付加したりマクロやポインタ駆使したりで綺麗でも現実的でもないね


41:なんJゴッドがお送りします2022/04/26(火) ID:YpQeE9Bx0

あまりに便利で多用するとバイナリサイズデカくなったな
テンプレートで指定した型の分だけアセンブリが生成される
最近コンパイラでどうだかわかんないけど


42:なんJゴッドがお送りします2022/04/26(火) ID:maySjw2S0

使用した型の分だけバイナリ増えるのは仕組み上仕方ない気がするな


45:なんJゴッドがお送りします2022/04/26(火) ID:YhEstEHPa

embedded c++ではそもそもtemplateの仕組み自体消し去られてるし……


47:なんJゴッドがお送りします2022/04/26(火) ID:sFdpgsng0

最近Cの仕事で引数の型名以外一言一句全く何も違わない関数を4個書いたぞ
Cだと暗黒魔法に手を染めない限り共通化は不可能
現代語だとInterfaceという仕組みがあるからこんな悲劇は起きないのだ


48:なんJゴッドがお送りします2022/04/26(火) ID:maySjw2S0

今はもう暗黒魔道士が淘汰されてよかったよ




元スレ:https://mi.5ch.net/test/read.cgi/news4vip/1650904028
未分類