C++相談室 part58
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
100:デフォルトの名無しさん 07/09/30 21:10:12 あ、::type付けわすれた… 101:デフォルトの名無しさん 07/09/30 21:43:54 読み易くするのが目的で読みにくくなる手法を選ぶか。 >>99 名前があるならソレをコメントに書いておけば良いかも。 102:デフォルトの名無しさん 07/09/30 22:00:44 >>98 >>101 読みやすいかどうかは読み手にもよるし、あまり>>91や>>94はよい聞きかたではなかったですね。 C++のコードを自動生成するツール(自作)の都合でX内に定義を書けると嬉しい、というのが実際の事情です。 103:91 07/09/30 22:32:03 102は91です。 >>99 concept-controlled polymorphism ですか? 104:デフォルトの名無しさん 07/09/30 23:06:47 >>100 > あ、::type付けわすれた… 検索エンジン経由で来るひとのために、一応訂正版貼っときますね。 #include <cstdio> #include <boost/utility/enable_if.hpp> #include <boost/type_traits/is_same.hpp> struct X { template<typename T, typename U = void> struct Y { Y() { std::printf("genecic\n"); } }; template<typename T> struct Y <T, typename boost::enable_if<boost::is_same<T, int> >::type> { Y() { std::printf("specialized for int\n"); } }; }; class Z {}; int main() { X::Y<Z> a; X::Y<int> b; X::Y<float> c; } 実行結果は、 genecic specialized for int genecic です。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5366日前に更新/51 KB
担当:undef