C++/TemplateMetaProgramming
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
150:デフォルトの名無しさん 09/01/19 20:24:39 ポリシーによるプログラミングで質問です。 適当な乱数を発生させるTraitsクラスを何個か定義します。 struct r {int rdm(){return rand()%128;}}; struct rs{int rdm(){return rand()%7+60;}}; そんで、Traitsを使うクラスがこれ。ここまでは順調です。 template <class T=r> class R{int rdm(){return T.rdm();}}; この後、rdm関数が引数を持つようなTraitsを加えようとすると型があわないため困りました。 しかし、こういうケースは良くあるのではないかと思います。 struct rc{int rdm(int n){return n*(rand()%128);} 少し悩んでこんな解を出して見たのですが こういう場合、みなさんどのように解決されますか? template <int N> struct rt{int rdm(){return N*(rand()%128);} R<rt<3> > r; ↑この場合、途中で引数を変えたいと思った場合毎回インスタンスを作る必要がある点が若干面倒です。 また、整数引数しか使えません 関数でやる場合は引数変更は楽ですが Traitsにあたるものが増えてくると関数の組み合わせ爆発が大変です。 手法にこだわりはないのでこのやり方が楽、などあればきいてみたいです。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5387日前に更新/39 KB
担当:undef