2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

C++/TemplateMetaProgramming

1 :デフォルトの名無しさん:2008/02/16(土) 12:45:02 .net
・ここはC++のテンプレートメタプログラミング専用スレです。
・なかったので立てました。
・前にもあったような気がするけど気にしない。
・次期C++(0x) boost STLの話題も、TMPに関係するならここにどうぞ。

仲良く使ってね。

605 :デフォルトの名無しさん:2016/07/30(土) 23:34:53.81 ID:WLIyTwaV.net
>>604
わりと普通のテストでよくね?

606 :デフォルトの名無しさん:2016/07/30(土) 23:35:01.17 ID:ShugxVkw.net
あっ>>603のおかげで、自分がテンプレートの異常系のテスト
書けてないことに気づいた! 今!

どうやって書けばいいんだ「コンパイルエラーになったらOK」な
単体テストなんて……

607 :デフォルトの名無しさん:2016/07/30(土) 23:38:54.87 ID:ShugxVkw.net
>>605
個人的には辛いんだ
型引数ごとにテストケースが増えるせいで

俺テンプレートの設計がまずいのかもしれないし
テスト環境を使いこなせていないのかも

608 :デフォルトの名無しさん:2016/07/30(土) 23:47:29.00 ID:ShugxVkw.net
でも実際、ビジネスでTMP使う機会なんてそんなにないよね
必要なものは大抵ライブラリで揃ってるし

ここ数年ビジネスで書いたテンプレートなんて、sortやmapに渡す
比較ファンクタくらいなもんだ

609 :デフォルトの名無しさん:2016/07/31(日) 00:52:52.61 ID:BwQhep53.net
>>608
確かにね。

610 :デフォルトの名無しさん:2016/07/31(日) 01:15:49.72 ID:xYHlZVXv.net
ビジネスwww

611 :デフォルトの名無しさん:2016/08/04(木) 21:55:02.63 ID:bUkZS3Tk.net
>>602
具体的にどんな? 「オーバーロードが見つからない」とか「候補は:」とかいう奴?

612 :デフォルトの名無しさん:2016/10/22(土) 12:48:36.20 ID:gXZrk0GL.net
このスレの伸びなさがTMPの必要性を考えさせるな〜

613 :片山博文MZ ◆T6xkBnTXz7B0 :2016/10/25(火) 13:36:18.47 ID:tNFHqmMD.net
https://teratail.com/questions/52686
助けて下さい!!!

614 :デフォルトの名無しさん:2016/10/25(火) 15:45:43.97 ID:htPnqAhC.net
バグったコンパイラを捨てろ

615 :デフォルトの名無しさん:2016/10/30(日) 14:57:03.72 ID:O4GwQcVb.net
>>613

こいつ、回答側の場合ずいぶん偉そうなものの言い方するやつじゃん
誰が助けてくれるんだよw

616 :片山博文MZ ◆T6xkBnTXz7B0 :2016/10/30(日) 15:12:35.72 ID:E/dwHQNP.net
>>615
解決したよ。世間はそんなに冷たくないよ。

617 :デフォルトの名無しさん:2016/10/30(日) 16:29:00.54 ID:O4GwQcVb.net
助けてくれた人に感謝しろよ
今後、偉そうにもの抜かすなよ、

618 :デフォルトの名無しさん:2016/11/11(金) 01:17:57.70 ID:EDumE7xv.net
template<class T>
void foo(T t){
typedef T::valuetype tt;
//以下略
}

みたいな関数なにがしたいのかな
templateっていろんな型を代表できるのに
上記だと
Tがvaluetypeをもっていないとコンパイルできないじゃん
fooにintなんて渡せない

619 :デフォルトの名無しさん:2016/11/11(金) 02:50:18.52 ID:R5aqtocD.net
>>618
valuetypeをメンバに持つクラス/構造体を引数に取ることを想定した関数にしている

templateを使っているからといって、常にどんな型でも使える関数にする必要はない

620 :デフォルトの名無しさん:2016/11/11(金) 03:38:29.50 ID:CB2qWRAJ.net
>>618
コンパイルできないようにしてるんだよ…

621 :デフォルトの名無しさん:2016/11/11(金) 03:54:15.76 ID:cKP8rFBJ.net
value_typeだろバカ

622 :デフォルトの名無しさん:2016/11/11(金) 09:56:45.58 .net
インターフェースみたいなものやね

623 :デフォルトの名無しさん:2016/11/11(金) 20:08:41.83 ID:DxFrXdPz.net
>>621
>value_typeだろバカ
例だからなんでもいいだろ.バカ

624 :デフォルトの名無しさん:2016/11/13(日) 20:49:57.87 ID:NMmsi9ae.net
>>618
の例だと
template<class T>
void foo(T t);
を見ただけでは、Tになにを渡していい、渡すべきかがわからないってこと?

いちいち実装をみなきゃいけないの?

625 :デフォルトの名無しさん:2016/11/13(日) 23:13:56.74 ID:01e71bgy.net
Tが何を受け付けるかわからん関数を使うんか?

626 :デフォルトの名無しさん:2016/11/13(日) 23:57:09.90 ID:Ggvvb/9+.net
>>624
仕様を理解しないで使っちゃう人のために、コンパイルエラーにしてるんだよ。

627 :デフォルトの名無しさん:2016/11/14(月) 00:03:42.34 ID:Ndr4XdNg.net
>>625
うけとる型が決まってるなら、templateにする理由って?

628 :デフォルトの名無しさん:2016/11/14(月) 00:19:36.49 ID:8AzCWpe2.net
きみはgenericの汎用性を、あらゆる、という意味と履き違えている。

逆に全ての型に対して使える関数って役に立つの? 意味あるの?
関数の想定している要件を満たすT全てじゃ意味ないの?

629 :デフォルトの名無しさん:2016/11/14(月) 00:32:58.25 ID:BtUwB/sO.net
>>618
>Tがvaluetypeをもっていないとコンパイルできないじゃん
valuetypeをもっていたらコンパイルできるんか?

630 :デフォルトの名無しさん:2016/11/14(月) 01:42:04.43 ID:V+VrG6L9.net
>>628
その要件を満たすTをどうやって知ることができるんだ?

631 :デフォルトの名無しさん:2016/11/14(月) 01:55:47.75 ID:esjkHDa1.net
Java, C#の型制約と同じだろ

Haxe なら、
class A<T : (B, C)> { }

Tには、B, Cか、その派生クラスしか使えない

632 :デフォルトの名無しさん:2016/11/14(月) 02:30:14.37 .net
∀をつけると一見なんでもって感じで自由を得たような錯覚をするが、実はどんな型が来ても成り立たせないといけないという強烈な不自由を被る逆説的事象に苛むのである
∀は利用側が自由なのであって、提供側は猛烈な不自由の苦しみを味わうのだ

(コラム)

633 :デフォルトの名無しさん:2016/11/14(月) 02:33:34.84 ID:8AzCWpe2.net
>>630
その関数のドキュメントなければコードを読む

634 :デフォルトの名無しさん:2016/11/14(月) 07:57:34.62 ID:cdoyRzEZ.net
>>631
それならまだいい、関数本体のコードを読まなくても、宣言部だけで利用者はTに必要な要件がわかる。

635 :デフォルトの名無しさん:2016/11/14(月) 12:21:25.14 ID:7/YTvzPd.net
宣言部だけで関数の挙動がわかる世界でやってくれ

636 :デフォルトの名無しさん:2016/11/14(月) 20:38:01.70 ID:xIkiXoiE.net
>>635
ソースが公開されてない、win32apiは宣言しかわからないよ、それでも十分に宣言を見ればわかる。

637 :デフォルトの名無しさん:2016/11/14(月) 22:02:59.08 ID:PAYFoA/x.net
すごいねー
俺はMSDN見ないとフラグの意味とかわからないわー

638 :デフォルトの名無しさん:2016/11/14(月) 23:40:51.43 ID:Ndr4XdNg.net
そんなレベルの低い方が回答してたのか・・・

639 :デフォルトの名無しさん:2016/11/22(火) 02:18:26.11 ID:7Mf+uR5S.net
特定のクラスしか受け付けないテンプレートってなんなの?テンプレートにしなくてもよくね?

640 :デフォルトの名無しさん:2016/11/22(火) 02:37:57.83 ID:e1oIg+aV.net
四則演算が定義された型のみ受け付けたい場合など

641 :デフォルトの名無しさん:2016/11/22(火) 02:46:07.47 ID:UcbrgWPr.net
それ、特定のクラスじゃなくてインターフェイス。traits使えば幸せになれるやつ。

642 :デフォルトの名無しさん:2016/11/22(火) 04:43:58.53 ID:e1oIg+aV.net
てへぺろ

643 :デフォルトの名無しさん:2016/11/22(火) 12:51:23.77 ID:OZ794KAs.net
まあ、特定の1つのクラスしか受け付けないってのなら、確かにtemplateにする意味ないね。
特定でも2つ以上のクラスに対応してるなら、意味あると思うよ。

644 :デフォルトの名無しさん:2016/11/22(火) 14:30:10.04 ID:uKd48bt3.net
参照やポインタじゃなくて値型で扱いたいのかもしれない

645 :はちみつ餃子 ◆8X2XSCHEME :2017/06/20(火) 02:21:52.34 ID:3gaQOia7.net
>>643
ユーザが使う部分では意味ないかもしれないけど、
凝ったテンプレートを構成する部品としては意味ある場合もあるかも。

646 :デフォルトの名無しさん:2017/10/30(月) 12:57:38.90 ID:6+ZnRbeq.net
TMP!

647 :デフォルトの名無しさん:2018/05/23(水) 21:23:36.57 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

UWGL1

648 :デフォルトの名無しさん:2018/07/05(木) 00:34:25.25 ID:RfoszcD2.net
2L3

649 :デフォルトの名無しさん:2019/02/16(土) 01:05:08.01 ID:f4GtCnpH.net
tmpで不動少数演算ってできるの?

650 :デフォルトの名無しさん:2021/03/22(月) 01:51:08.09 ID:4Yc/PXPF.net
いまいちtmpの使い道がわからん
コンパイル時に決定してることしか扱えないって意味なくね?
ATMなら、人が引き出せる額を決定できないんでしょ

651 :デフォルトの名無しさん:2021/03/22(月) 03:54:42.57 ID:q7gQYNZZ.net
コンパイル時の前、設計時にさえ決まることがあるんだってな?
そう、アルゴリズムだよ!

652 :デフォルトの名無しさん:2022/11/08(火) 16:55:32.65 ID:jWjfxeNQ.net
テンプレト。

653 :デフォルトの名無しさん:2022/11/23(水) 15:54:10.57 ID:uPWnf15k.net
enable_ifはもう書きたくないんや

654 :デフォルトの名無しさん:2023/08/27(日) 13:53:34.66 ID:4jT3+8kZv
岸田異次元増税憲法ガン無視地球破壊軍国主義文雄のデ夕ラメっぷりが炸裂してるな、子ども真ん中社会が嘘八百なんて子どもでも分かるわな
力による一方的な現状変更によって都心まで数珠つなぎで鉄道の30倍以上もの莫大な温室効果ガスまき散らすクソ航空機倍増させて、騒音て゛
勉強妨害して気候変動させて地球破壊して子と゛もの未来を暗黒の世界にして熱中症で殺害、世界最悪の脱炭素拒否テロ国家に送られる化石賞を
連続受賞していながら、私利私欲のために莫大な税金泥棒して、莫大な温室効果ガスまき散らしてクソ航空機を乗り倒して世界中に脱炭素ガ━
だの嘘八百ほざいてバカ晒して,白々しくマッチポンプ丸出しで災害対策だのとバカの壁やら日本中コンクリー├まみれにして子どもの遊び場
破壊して溺死連發、利権倍増に増税、気候変動であらゆるウイルス蔓延させて人殺して鷄卵価格やら物価暴騰、莫大な石油無駄に燃やす航空機
全廃すれば余裕で原發全廃て゛きるものを原発稼働して全国放射能まみれを目指し、隣国挑発、軍事利権倍増、航空騒音で知的産業壊滅してる中
アプリのひとつも作れない分際でマイナンバカ‐ド推し進めて個人情報漏洩しまくり、漏洩した個人情報に−生害を受け続けるのが今の子ども
(羽田)ttps://www.сall4.jp/info.php?type=items&id=I0000062 , Τtps://haneda-project.jimdofree.com/
(成田)ttps://n-souonhigaisosyoudan.amebaownd.com/
(テロ組織)ttps://i.imgur.com/hnli1ga.jРeg

160 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★