利用'. . .'结构来优化模板函数

ZDNet软件频道 时间:2003-02-10 作者:BUILDER.COM |  我要评论(10)
本文关键词:cpptips
当进行程序开发(特别是模板函数/模板类)的时候,程序员经常不会想到去优化所调用函数的模板参数。这篇文章提供了优化模板函数的方法。既然它是一种先进的方法,你应该去测试下面的代码并看看其结果。

当进行程序开发(特别是模板函数/模板类)的时候,程序员经常不会想到去优化所调用函数的模板参数。这篇文章提供了优化模板函数的方法。既然它是一种先进的方法,你应该去测试下面的代码并看看其结果。

假设有这样如下的convert_string的函数:

当FromCharTyp和ToCharType 不同时(例如,convert_string< char, wchar_t>( strUserName)),就会执行以上的代码。但如convert_string< char, char>( strUserName)的代码就应该被优化并直接返回strUserName而不再需要转换。

这看起来很象type-based if,即如下:

为了实现以上的目的,我们可以使用以下的方法:

调用一个帮助函数

传递一个额外参数到帮助函数

然后,建立两个可以重载的帮助函数(名字相同,但参数不同):其中一个要优化(对一定的模板参数),另一个函数不要优化。对于后面的帮助函数,你可以使用'. . .'结构。

下面是优化的convert_string函数的用法:


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134