>是否有书籍使用C表达模板讨论数值方法/计算?
>以何种方式,C表达模板比使用纯C更好?
What are C++ Expression Templates in simple terms?
Expression templates是C模板元编程的一类,它延迟子表达式的评估,直到已知完整表达式,从而可以应用优化(尤其是消除临时).
Are there books around that discuss numerical methods/computations using C++ Expression Templates?
我相信ET是由Todd VeldhuiZen发明的,他在15年前发表了一篇论文. (似乎很多旧链接到现在已经死了,但目前here是它的一个版本.)有关它的一些材料是DavID Vandevoorde和Nicolai Josuttis’C++ Templates: The Complete Guide.
In what way,C++ Expression Templates are better than using pure C?
它们允许您以富有表现力的高级方式编写代码而不会降低性能.例如,
voID f(const my_array<double> a1,const my_array<double> a2) { my_array<double> a3 = 1.2 * a1 + a1 * a2; // ..}
可以一直优化到
for( my_array<double>::size_type IDx=0; IDx<a1.size(); ++IDx ) a3[IDx] = 1.2*a1[IDx] + a1[IDx]*a2[IDx];
哪个更快,但更难理解.
总结以上是内存溢出为你收集整理的C表达式模板全部内容,希望文章能够帮你解决C表达式模板所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)