在模板函数中使用常量字符串字面值(第一部分)

ZDNet软件频道 时间:2003-01-08 作者:BUILDER.COM |  我要评论()
本文关键词:cpptips
当调用字符串相关的函数时,开发人员通过会在程序中使用一些常量。假设有这样的一个函数:trim_spaces ,这一函数可以把一个字符串的前面和后尾的空格去掉,我们可以把这些空格当成以下的字符:" f"。

当调用字符串相关的函数时,开发人员通过会在程序中使用一些常量。假设有这样的一个函数:trim_spaces ,这一函数可以把一个字符串的前面和后尾的空格去掉,我们可以把这些空格当成以下的字符:" f"。

这样对应的方法如下:

然而,在模板函数中这样的方法是行之不通的,例如:

所以,在使用常量字符串字面值(字面值即为赋给常量的值,在本文中为" f")的时候,开发人员通常会碰到很多问题。这些问题可以总结如下:

  • 对于one-char类型的字符串(const char *, const unsigned char *, const signed char *),可以采用 "<string_goes_here>"方式。
  • 对于wchar_t strings类型的字符串(const wchar_t *),可以采用L"<string_goes_here>"(注意前缀L)。

现在,让我们看看这些问题的解决方法。这是一种通用的解决方法,在字符串常量字面值处理的情况下都能适用,比如:

  • 模板函数和类的初始化
  • 模板函数和类的常量

可以使用以下的代码:


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