c++的string容器
2015-10-13 09:38
232 查看
c++相比c的一个好处就是实现了很多的容器和泛型算法,使得程序员的工作得到了很大的化简。其中一个很有用的泛型容器就是string。string是一个类,是一个在STL里边实现好了的类,由于他的很多功能都已经实现好了,所以对于程序员来说,这个stl模版类是很方便的。
string的初始化和定义
string str就可以完成string对象的定义,但是这时的str由默认构造函数来构造完成,字符串的长度是0,可以在定义的时或就初始化,方法有以下几种。
string str("hello world!");//hello world
string str(3,"he");//hehehe
string str(3,'h');//hhh
string的输入输出
可以用cin来得到string对象的输入数据,但是这样子得到的是不包括空格,tab以及换行的,如果想得到空格以及tab的话,就需要一个函数就是getline函数,getline(cin,str)就可以把cin对象的得到的的输入流存到str对象里边,包括空格以及tab。
string对象size_tyep类型
string有一个函数是size(),作用是返回string对象的字符串的长度,他的返回值就是一个string::size_type类型的值,他使用typedef来定义的,他定义在string头文件中,他是一个无符号的整形,但是所占用的字节数目依靠不同的编译器来定义,至少在g++的编译器下是4个字节的。
注意,对于size_type做比较操作的时候,一定要注意,如果一个负数与一个无符号的值比较的话,那么一定会是负数大,因为补码的缘故,所以比较的时候按照一位一位的比较,所以这一点切记。
string对象由于已经重载了很多的运算符,所以可以吧string对象当作其他的原子数据一样,进行+的操作,以及比较。同时,还可以把string对象当作一个数组,用[下标]来访问每一个字符。
转载链接:http://blog.csdn.net/sanwenyublog/article/details/18006749
string的初始化和定义
string str就可以完成string对象的定义,但是这时的str由默认构造函数来构造完成,字符串的长度是0,可以在定义的时或就初始化,方法有以下几种。
string str("hello world!");//hello world
string str(3,"he");//hehehe
string str(3,'h');//hhh
string的输入输出
可以用cin来得到string对象的输入数据,但是这样子得到的是不包括空格,tab以及换行的,如果想得到空格以及tab的话,就需要一个函数就是getline函数,getline(cin,str)就可以把cin对象的得到的的输入流存到str对象里边,包括空格以及tab。
string对象size_tyep类型
string有一个函数是size(),作用是返回string对象的字符串的长度,他的返回值就是一个string::size_type类型的值,他使用typedef来定义的,他定义在string头文件中,他是一个无符号的整形,但是所占用的字节数目依靠不同的编译器来定义,至少在g++的编译器下是4个字节的。
注意,对于size_type做比较操作的时候,一定要注意,如果一个负数与一个无符号的值比较的话,那么一定会是负数大,因为补码的缘故,所以比较的时候按照一位一位的比较,所以这一点切记。
string对象由于已经重载了很多的运算符,所以可以吧string对象当作其他的原子数据一样,进行+的操作,以及比较。同时,还可以把string对象当作一个数组,用[下标]来访问每一个字符。
转载链接:http://blog.csdn.net/sanwenyublog/article/details/18006749
相关文章推荐
- c++的vector容器
- 链式栈的C++实现
- 项目过程中,有c++控件,层级问题的解决
- 程序设计基石与实践系列之C语言未定义行为一览
- C语言一个队列的实现
- 理工科应该的知道的C/C++数学计算库(转)
- C 从标准输入读取字符串.
- C语言复习之---链表
- C++之文件重定向 通过txt读入数据和txt写数据
- C++基础---typedef struct与struct的区别
- hdoj 2036 改革春风吹满地 C++
- C++ Template 模版中的名称(笔记)
- C++ 对象的内存布局【转载】
- C语言逻辑非运算符的含义
- 2015-10-13 OC语言中的复合
- leetcode笔记:String to Integer (atoi)
- 交换两个数的C语言程序
- hdoj 2035 A^B C++
- C++ :顺序容器、关联容器
- 递归函数的使用-以C++语言为例