"C++ Primer" 读书笔记 第三章 标准库类型

3.2 标准库string类型

  string的常用构造函数:

    默认构造函数(初始化为空string);

    string s2(s1); // 拷贝s1的内容

    string s3("Hello);

    string s4(3, '6'); // "666"

  注意!string与字符串字面值不是同一种类型;

 

  cin >> s; // 从标准输入对象读取string到s中,注意

  • 读取将忽略开头所有的空白字符
  • 开始读取后遇到任何空白字符则终止

  通常利用while(cin >> input){ ; }实现读入未知数目的输入

  cin>>input语句本身将返回一个istream对象,如果输入流cin是有效的,则继续循环;

  (如果有读取包含空格和制表符的整行文本的需求,则使用getline函数)

  

  string的size()成员返回的是什么类型?    

  是size_type类型,引入配套类型使得库类型的使用与机器无关,并且保证不会有某个string的size()会溢出这个值

  形如<cype.h>与<cctype>这样的头文件名的区别。

  

  标准库vector类型,动态数组

  是一种容器,能够存放任意类型的元素;

  vector是类模板,vector<int> 才是一种数据类型;

  注意,我们仅能对已经存在的下标位置进行访问,否则下标越界错误!

  利用迭代器同样可以进行元素访问,每一种容器都有各自的迭代器配套类型;

  不同容器迭代器的操作是通用的。

  const_iterator类型,只能读取不能修改;

  特别注意,在vector的长度更改后,原来的iterator就失效了。(如何理解?)

 

   

posted @ 2019-05-27 19:58  LiaoQian1996  阅读(57)  评论(0编辑  收藏  举报