c++模板元編程就是bullshit

來源:互聯網
上載者:User

c++模板元編程就是bullshit

 

學完所謂的模板元編程,我覺得c++模板元編程就是一坨屎。你可以振振有詞的說它可以簡化計算時間。好,你除了提供那幾個所謂經典的例子外還有什麼其它什麼用嗎?說是圖靈完備,連個在編譯期調用個函數都處理不了,如下例

template<int degree>

struct SinVal

{

    enum { m_inner_val = (int)(sin( (float)(degree / 360 )*3.14 ) * 1000 ) };

    static float GetVal()

    {

        return (m_inner_val / 1000);

    }

};

我本來想用它來實現一個sin的快速版,結果編譯器根本處理不了!其實所謂的模板元編程都可以用C++中最簡潔的手法實現,你只需要預先將你需要的值直接賦值給一個類中常量就可了。搞什麼這種飛機。

再說,表面上元編程減少了代碼的量,但是在編譯後其實會“執行個體化”出很多個類類型出來。並且關鍵是元編程必需在編譯器就能確定參數值,有個毛用。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.