摘要
在C++系统中有静态分派编程技术和动态分派编程技术,将一些执行期的分派提前至编译期,可以减少了编译后的代码长度也提高了程序总体运行速度.分析了引入静态分派技术的必要性以及常用的静态分派技术,提出了通过使用Boost库中的enable_if模板族来非侵入地(non-intrusively)显示管理模板函数的重载集的方式来实现C++中静态分派编程技术,不但提出了一种新的静态分派思路,更为重要的是通过这种方式可以根据模板函数的返回值来重载模板函数.
In C ++,there exists static dispatching technique and dynamic dispatching technique. Moving some dispatching at run time up to compiling time can reduce length of complied code and improve the overall running speed. The necessity of introducing static dispatching technique and those used commonly was analyzed,and then a way to realize static dispatching technique was presented by using enable_if template group in Boost library non-intrusively explicitly to manage the overloaded set of template functions. More importantly,in this way,one could overload template functions by their return values.
出处
《湖南师范大学自然科学学报》
CAS
北大核心
2015年第5期70-75,共6页
Journal of Natural Science of Hunan Normal University
基金
湖北省职业技术教育规划课题(2010B04)
关键词
静态分派
动态分派
模板元编程
模板特化
static dispatching
dynamic dispatching
metaprogramming
template specialization