c++ Primer 第三章

1.标准库类型string

(1)string类型必须首先包含string头文件,#include<string>;

(2)string s2(s1)(直接初始化)等同于string s2=s1;(拷贝初始化);

    string s4(n,‘c’) 把s4初始化为由连续n个字符c组成的串;

(3)string对象的操作

    正常的IO操作符读取字符串忽略开头空白,从第一个真正字符读起,直至遇见下一处空白;

    getline函数可以保留输入时的空白符,读取一整行,直到遇到换行符为止;

    size操作返回字符串长度,但返回类型是一个无符号类型string::size_type;

    ‘+’符号可以将两个字符串连接起来,但要注意‘+’运算符两侧的运算对象至少有一个是string;

(4)处理string对象中的字符

    cctype头文件中包含多种处理string对象的方式,可以使用范围for语句对整个string对象进行访问与修改,在修改时,必须                 把循环变量定义为引用类型,因为循环变量相当于一份拷贝,不设置为引用类型无法修改字符串内容。

2.标准库类型vector:#include<vector>

(1)引用不可以成为vector的元素,因为其不是对象;

      可以用花括号初始化每一个值;

      可以用括号指定元素个数或相同的元素值;

       只能使用直接初始化,不可以使用拷贝初始化(vector之间的拷贝是可行的,但要保证类型相同);

(2) C++11 提供了列表初始化;

(3)向vector对象中添加元素,需使用push_back()成员函数;且不能使用范围for语句添加;

(4)vector同样具有size/empty/比较等操作,vector可用下标访问已有元素,但不能用下标添加元素;

(5)size()返回类型值size_type类型,可以用auto关键字自动接收;

3.迭代器(iterator):

(1)v.begin()和v.end()提供了访问v的第一个元素和尾元素的下一位置的功能;

(2)迭代器是一种类模板,https://blog.csdn.net/gogokongyin/article/details/51206225此网页简述了迭代器和指针的区别;

4.数组:

(1)数组的大小固定,和vector一样,不存在引用的数组;

(2)字符数组可以用字符串字面值进行初始化,但不能用数组的内容拷贝和赋值给其他数组;

(3)数组可以使用范围for和下标运算符来访问,并可以使用同vector类似的begin(a)和end(a)访问数组的首尾;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值