y‰SŽÒнŒ}zC/C++Ž ..
[
2ch
|
¥Menu
]
¡ƒRƒsƒyƒ‚[ƒh
ƒXƒŒ‚ð’Êí•\ަ
ƒIƒvƒVƒ‡ƒ“ƒ‚[ƒh
‚±‚̽گÄÞ‚ÌURL
¡€–ÚƒeƒLƒXƒg
492:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ 10/04/23 22:40:51 template<class T> struct identity { typedef T type; }; ‚±‚̃ƒ^ŠÖ”‚͉½‚Ì‚½‚߂ɑ¶Ý‚·‚é‚ñ‚Å‚·‚©H 493:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ 10/04/23 23:26:15 >>492 template<class T>cast(typename identity<T>::type v){ return v; } ‚Æ‚© typedef boost::mpl::eval_if<is_const<T>, identity<const int>, identity<int> > iint; ‚Æ‚© 494:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ 10/04/23 23:31:17 ‰¡‘„ƒŒƒX‚¾‚ª >>493 ‘Š•Ï‚í‚炸C++ TMP‚͓‚·‚¬‚¾‚ë 495:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ 10/04/23 23:35:48 Eeval_if‚É“n‚·ƒ‰ƒbƒp[ E•ϔ錾 ›int *p1, *p2; ~int* p1, p2; ›boost::mpl::identity<int*>::type p1, p2; Eƒƒ^ŠÖ”‚ð‚‚‚éƒwƒ‹ƒpi—áFosteram“™‚©‚瓯‚¶•¶ŽšŒ^‚ÆTraits‚Ìbasic_string‚ð‚‚‚éAstrƒƒ^ŠÖ” template<typename Stream> struct str : public boost::mpl::identity< std::basic_string<typename Stream::char_type, typename Stream::traits_type> > { };
ŽŸƒy[ƒW
ÅVƒŒƒX•\ަ
ƒXƒŒƒbƒh‚ÌŒŸõ
—ÞŽ—ƒXƒŒˆê——
˜b‘è‚̃jƒ…[ƒX
‚¨‚Ü‚©‚¹ƒŠƒXƒg
¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ
ƒŒƒXƒWƒƒƒ“ƒv
mixiƒ`ƒFƒbƒNI
Twitter‚É“Še
ƒIƒvƒVƒ‡ƒ“
‚µ‚¨‚è‚ð‹²‚Þ
ƒXƒŒƒbƒh‚É‘ž
ƒXƒŒƒbƒh‚̈ꗗ
‰É‚‚Ԃµ2ch
4061“ú‘O‚ÉXV/255 KB
’S“–:undef