多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開(kāi)源 > php教程 > 讀loki有感,TYPEList原理

讀loki有感,TYPEList原理

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-03-04 07:57:14 閱讀次數(shù):3352次

讀loki有感,TYPEList原理
問(wèn)題1,簡(jiǎn)化版的TYPEList,只支持int型
template<int n>
class TYPEList
{
public:
 int Head;
 TYPEList<n⑴> Tail;

};

template<>
class TYPEList<0>
{
public:
 int Tail;
 int Head; 
};

測(cè)試代碼
TYPEList<0> l0;
 l0.Head = 1;
 l0.Tail = 2;

TYPEList<2> l2;
l2.Head = 3;
l2.Tail.Head = 4;
l2.Tail.Tail.Head = 5;
l2.Tail.Tail.Tail = 6;

問(wèn)題2:可以同過(guò)GetAt(int)獲得值
template<int n>
class TYPEList
{
public:
 int Head;
 TYPEList<n⑴> Tail;
 int GetAt(int index )
 {
  if( n+1 == index )
   return Head;
  return Tail.GetAt(index);
 }
};

template<>
class TYPEList<0>
{
public:
 int GetAt(int index)
 {
  if( 1 == index )
   return Tail;
  return Head;
 }
 int Tail;
 int Head; 
};
測(cè)試代碼
TYPEList<0> l0;
 l0.Head = 1;
 l0.Tail = 2;

 TYPEList<2> l2;
 l2.Head = 3;
 l2.Tail.Head = 4;
 l2.Tail.Tail.Head = 5;
 l2.Tail.Tail.Tail = 6;

 int i1 = l2.GetAt(0);
 int i2 = l2.GetAt(1);
 int i3 = l2.GetAt(2);
 int i4 = l2.GetAt(3);

問(wèn)題3,類型不再限于int,但最多集成3個(gè)變量。

class NullType
{
};

template <class T, class U>
struct Typelist
{
 T Head;
 U Tail;
};

template <typename T1  = NullType, typename T2  = NullType, typename T3  = NullType >
struct MakeTypelist

private:  
 typedef typename MakeTypelist< T2 ,T3>::Result TailResult; 
public:  
 typedef Typelist<T1, TailResult> Result; };

template<> 
struct MakeTypelist<> 
 {  
  typedef NullType Result;
 };

測(cè)試代碼:
MakeTypelist<ULONG,CString,int>::Result User,User2;

 User.Head = 1;
 User.Tail.Head = "何志丹";
 User.Tail.Tail.Head = 35;

 User2 = User;

 

 template <class AtomicType, template <class> class GenFunc>
    struct IterateTypes
   {    template<class II>
    void operator()(II ii)
       {   
    GenFunc<AtomicType> genfunc;
        *ii = genfunc();
        ++ii; //Is this even needed?
        }
    };

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美重口另类videos人妖 | 成人特级毛片 | 国产精品v片在线观看不卡 国产精品v在线播放观看 | 在线看逼| 亚洲爽爽网站 | 黑人又大又粗又长又深受不了 | 在线亚洲欧国产精品专区 | 亚洲伊人久久网 | 精品小视频 | 波多野结衣免费线在线 | 欧美图片小说视频 | 免费观看成人www精品视频在线 | 精品一精品国产一级毛片 | 波多野结衣在线观看一区二区 | 日本视频中文字幕一区二区 | 最近最新手机中文字幕在线看 | 亚洲v日本v欧美v综合v | 网站在线看 | 欧美黄色片在线观看 | 成人免费一区二区三区 | 亚洲妇人成熟性成熟网站 | 精品一区精品二区 | www啪| 一级中文字幕乱码免费 | www.亚洲.com| 伊人福利视频 | 亚洲在线一区二区三区 | 久久国产精品影院 | 18岁禁免费网站 | 日本三级成人午夜视频网 | 91欧美激情一区二区三区成人 | 欧美整片在线观看 | 波多野结衣视频免费在线观看 | 久久国产精品永久免费网站 | 福利片在线观看免费高清 | 亚洲乱码一二三四区国产 | 一级毛片不卡免费看老司机 | 狍和美女一级aa毛片 | 爱爱视频免费网址 | 老司机免费视频 | 一级毛片高清大全免费观看 |