更新时间:2015-06-23 14:48:48浏览次数:1+次
在介绍string使用前,先介绍一下string的相关背景知识,更好的指导string的使用。
string 是C++的一个字符串处理的类,是一个很强大的字符串处理工具。曾经我们在C中使用的C的字符串处理工具,因为C是面向过程的,这些工具使用起来也是挺好用的,但是,因为零散,很多函数都查找起来都不方便。我个人这么认为,使用起来总是没有一个完整的字符串处理体系的感觉。多数简单的字符串处理都是使用字符数组自己写函数处理,每次写重复写就有点烦。现在C++的string类为我们提供了强大的字符串处理,还可以面向以后,因为string是基于STL的,本质上string是一个模板类,string是一个实例。而说到字符处理,原先在使用MFC字符串处理,使用CString这个类,使用相当方便,因为微软封装的还是挺不错的。但是,你写一个算法总不会去加载MFC库吧,这样你的算法依赖度就高了,可移植性就不好了。如果一个程序没有使用MFC,你的算法就没法使用。当然是有办法将MFC的CString抽取出来,但是就太麻烦了,完全没有必要。因为string是C++自带的类,使用好,绝不比CString逊色,并且,只要是用C++的程序,这算法就可以使用。况且这是语言级别的字符串处理,自然效率也是会高点。当然,CString的格式化字符串很方便,我们自然也可以使用C++的格式化字符串来处理,效果是一样的。因为之前对于C字符串、C++字符串、MFC字符串、Windows字符串这些,我都不知道到底使用哪个好了,最终我还是选择string,C的使用不方便,只是在实现特定算法,使用C字符串处理,接近底层,更加灵活。MFC字符串在MFC程序使用特别好,因为其他的函数需要的字符串基本都是需要CString对象引用的。Windows字符串,因为系统也提供了一些字符串处理函数,我觉得还是尽量不这样使用,和平台要相关了就不通用了,如果以后开发其他系统的,我们就得重构代码了。而string是C++内置的,只要使用C++,这就可以用,既方便有强大而已依赖性小,可移植性好。建议慢慢把string用熟。
string是STL的一个实例化模板,有些概念也就和STL相关,如迭代器。因为它本质就是STL,所以就在STL板块讨论。
string的模板定义是:
templateclass charT,class traits=char_traits<charT>,class Allocator=allocator<charT> >
class basic_string
{
定义内容
};
相关资讯