c++模板元编程就是bullshit

c++模板元编程就是bullshit

 

学完所谓的模板元编程,我觉得c++模板元编程就是一坨屎。你可以振振有词的说它可以简化计算时间。好,你除了提供那几个所谓经典的例子外还有什么其它什么用么?说是图灵完备,连个在编译期调用个函数都处理不了,如下例

template

struct SinVal

{

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

    static float GetVal()

    {

        return (m_inner_val / 1000);

    }

};

我本来想用它来实现一个sin的快速版,结果编译器根本处理不了!其实所谓的模板元编程都可以用C++中最简洁的手法实现,你只需要预先将你需要的值直接赋值给一个类中常量就可了。搞什么这种飞机。

再说,表面上元编程减少了代码的量,但是在编译后其实会“实例化”出很多个类类型出来。并且关键是元编程必需在编译器就能确定参数值,有个毛用。

 

你可能感兴趣的:(c++模板元编程就是bullshit)