第三章标准库类型

1.命名空间using声明
using std:: string;

就能使用string,必须引入头文件
更便捷的使用方法:
using namespace std;

2.标准库string 类型
对象定义和初始化

string s1;  //空串
string s2(s1);  //将s2初始化为s1的一个副本
string s3("value"); //将s3初始化为一个字符串的字面值副本
string s4(n,'c');   //将s4初始化为字符'c'的n个副本

string 的读取操作

1.读入未知数目的string 对象
string word;
while (cin >> word) {        // 输入word ,会自动去除前面的空格和换行符,遇到空格停止
xxx}

2.getline读取整行文本
string line;
while (getline(cin,line)) {
xx
}


string 对象的操作
s.empty()
s.size()
s[n] 返回s中位置为n的字符,位置从0开始
s1 + s2
s1 = s2;
v1 == v2

string::size_type类型
为string类类型的配套类型,一般为unsigned int 或long

3.标准库 vector类型
使用引入头文件:#include

3.1 vector 对象的定义和初始化
vector v1;
vector v2(v1);
vector v3(n,i);
vector v4(n);

vector对象会对存入的个数进行初始化值,内置类型eg:int 为0.
带类类型为: vector 用T的默认构造函数进行初始化。

vector对象的操作
v.empty();
v.size();
v.push_back(t);
v[n]
v1 == v2

1.vector对象的size
注意:
使用 size_type类型时,必须指出该类型是在哪里定义的,vector类型总是包括vector的元素类型:
vector::size_type //ok
vector::size_type //error

2.迭代器
每种容器都定义了自己的迭代器类型
如vector: vector::iterator iterl

eg:
标准迭代器用法

for (vector<int>::iterator iter = ivec.begin();
				iter != ivec.end();++iter){
				*iter = 0;}

2.1 const_iterator
这种类型只能读取容器内的元素,但不能改变其值。
注意:
不要把const_iterator对象与const的iterator对象混淆起来,声明一个const 迭代器,必须初始化迭代器,一旦被初始化后,就不能改变它的值:
vector nums(10);
const vector::iterator cit = nums.begin();
*cit=1; //ok
++cit; //error

const_iterator对象可以用于const vector或非const vector,因为不能改写元素值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值