第三章 字符串、向量和数组

命名空间

使用using std::cin 从命名空间std中获取cin,其他cout、endl、vector、string同理

不要写在头文件,头文件会被到处引用

 

标准库string

初始化方式:拷贝初始化(“string a = “nihao””,用了中间量)和直接初始化(“string b(3,“nihao”)”)

字符串字面值和string是不同类型

范围for(range for)语句处理string对象里的字符:

  for (declaration : expression)

    statement

 

vector类型相同的对象的集合,也称为容器(container),需要头文件#include <vector>,是类模板(根据模板创建类或函数的过程成为实例化)

int容器和string容器初始化有区别:

  vector<int>  v1(10)  //10个0

  vector<int>  v1{10}  //1个10,列表初始化

  vector<int>  v1(10, 1)  //10个1

  vector<int>  v1{10, 1}  //10, 1,列表初始化

 

  vector<string>  v2("hi")  //错误,不能使用字符串字面值构建vector对象

  vector<string>  v2{10}  //10个默认初始化的元素

  vector<string>  v2{"hi"}  //1个hi,列表初始化

  vector<string>  v2{10, "hi"}  //10个hi

向vector对象中添加元素:push_back(****)  //不能通过下标添加因为还不存在

 

迭代器

所有标准库容器都可以使用迭代器,严格来说string对象。。。但是。。。

begin和end成员返回指向第一个和尾元素的下一个

*执行解引用

 

#############

数组未完

#############

上一篇:c++纯虚类


下一篇:PAT-A1048 Find Coins (寻找硬币)