function object研究之十七 list_av_N

來源:互聯網
上載者:User

已經走了好遠好遠,現在開始回到我們的目標list_av_N模板:

template<class A1> struct list_av_1{    typedef typename add_value<A1>::type B1;    typedef list1<B1> type;};template<class A1, class A2> struct list_av_2{    typedef typename add_value<A1>::type B1;    typedef typename add_value<A2>::type B2;    typedef list2<B1, B2> type;};

前面分析add_value模板的文章:http://blog.csdn.net/sheismylife/article/details/8268378

因此知道當A1是boost::arg<1>的時候,B1也就是boost::arg<1>

list1<B1> 就是一個類型,通過繼承storage1<B1>來獲得擁有a1_()靜態成員函數的能力。

list_av_2依此類推,比list_av_1多擁有B2類型(也就是boost::arg<2>)和 a2_()靜態成員函數。

獲得這些能力都是在編譯期。這種實現手法比Moder C++ Design寫法簡單,好處是容易理解,壞處是代碼寫的很多很多。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.