上一节,我们讨论了如何处理常量字符字面值的一些方法。在文中,可以得出,CONST_STR(CharType,
string)可以扩展为const [signed/ unsigned] char *或者 const wchar_t
*,但是不能同时扩展为两者。
然而,很多时候你只在一个常量字符字面值,但却把它当成多种字符串类型来访问。例如,假设一个常量字符串字面值(" f"),很多其他的函数都把它当成const char *或const unsigned char * 或const wchar_t *来访问。
把常量字符串字面值当成多种字符串类型来访问在很多时候非常有用,特别是以下的几种情况:
为了实现以上的要求,我们建立一个class (string_constant)类,这一个类内部包含了有关字符串的继承:
以下的代码简单但又精确:
这里是remove_enters函数的范例: