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

c++的string容器的更多相关文章

  1. 数据结构《19》----String容器的三种实现

    一.序言 一个简单的string 容器到底是如何实现的? 本文给出了 String 的三种从易到难的实现,涉及了 reference counting, copy on write 的技术. 二.第一 ...

  2. stl string 容器的使用

    string 是基本的字符串序列容器,对应数据结构中的串,和vector<char>也类似,但功能更多 string 容器的使用 1,string 的构造函数是. string() 2,s ...

  3. 浅谈C++ STL string容器

    浅谈C++ STL string容器 本篇随笔简单讲解一下\(C++STL\)中\(string\)容器的使用方法及技巧. string容器的概念 其实\(string\)并不是\(STL\)的一种容 ...

  4. 2.2 C++STL string容器详解

    文章目录 引言 2.2.1 string的特性 2.2.2 string用法理论 2.2.2.1 string构造函数 2.2.2.2 string赋值操作 2.2.2.3 string取值操作 2. ...

  5. string容器

    一.string特性 string是STL的字符串类型,通常用来表示字符串.而在使用string之前,字符串通常是用char*表示的,string与char*都可以用来表示字符串. 说到string的 ...

  6. C++进阶 STL(1) 第一天 [容器,算法,迭代器] string容器 vector容器 deque容器

    课程大纲 02实现基本原理 容器,算法,迭代器 教室:容器 人:元素 教室对于楼:容器 序列式容器: 容器元素在容器中的位置是由进入容器的时间和地点来决定 序列式容器 关联式容器: 教室中 按年龄排座 ...

  7. HDU 1113 Word Amalgamation (map 容器 + string容器)

    http://acm.hdu.edu.cn/showproblem.php?pid=1113 Problem Description In millions of newspapers across ...

  8. 11.string容器

    #include <iostream> //string的本质也是容器 #include <string> #include <cstdlib> using nam ...

  9. STL之string容器

    string string封装了char*,管理这个字符串,是一个char*型的容器. string的相关操作 头文件 #include<string> string构造函数 string ...

随机推荐

  1. js多个物体运动问题2

    问题1 http://www.cnblogs.com/huaci/p/3854216.html 在上一讲问题1,我们可以整理出2点: 1,定时器作为运动物体的属性 2,startMove方法,参数要传 ...

  2. UVA434 - Matty&#39;s Blocks

    option=com_onlinejudge&Itemid=8&page=show_problem&category=457&problem=375&mosms ...

  3. 每天努力一点之SQL

    今天工作当中遇到一个问题:统计信息并导出EXcel 报表. 刚开始只做了统计信息: 如下图 请看最后一列的数据. 我当时想都从数据库里取出来,但是由于我能力有限没有做出来.先贴下后来写的SQL 语句. ...

  4. 搭建SSH

    搭建SSH详细步骤及相关说明   因为手里已有相关jar,为方便我搭建的是:Struts2.0+Hibernate3.3+Spring3.0,数据库:MySQL 如果想搭建最新的,在官网上下载最新ja ...

  5. struts2移除标签button的id传统的价值观念问题

    <!--显示数据列表--> <tbody id="TableData" class="dataContainer" datakey=" ...

  6. Shell学问: 调用脚本之间

    于Java,Python于,您可以使用import该方法使脚本或模块之间的呼叫,例如: >>> import math >>> math.sqrt(4) 2.0 在 ...

  7. MongoDB(三)——CRUD

    MongoDB作为非关系型数据库.还是传统数据库的增删改查有很大的差别的.这里仅仅是将知识点进行了一下提纲挈领,实际用的时候.我们百度一下具体使用方法就可以. 先看大的几个方面: 一.对于里边的插入和 ...

  8. MEF初体验之十一:查询组合容器

    查询组合容器 组合容器暴露了几个get exports的重载方法和导出对象和对象集合.你需要注意下面的行为: 当请求单个对象实例时,如果未发现导出,一个异常将被抛出 当请求单个对象实例时,如果发现超过 ...

  9. iOS_20_微博的骨架结构

    最后效果图: BeyondViewController.m // // BeyondViewController.m // 20_帅哥no微博 // // Created by beyond on 1 ...

  10. python带cookie提交表单自动登录(转)

    今天突然把博客给申请了,以前也想过的,奈于自己觉得水平还太低有点不好意思写博客,但是后来一想,自己的记录所学,加深印象,主要还是为了学习进步,不怕丢人!今天就稍微回顾一下这两天写的一段用python模 ...