C++ Primer 读书笔记——字符串/向量和数组

C++ Primer 读书笔记2

cctype 头文件中函数——处理String的方法——P82

函数用法
isalnum(c)如果参数是字母数字为真
isalpha(c)如果参数是字母为真
iscntrl(c)如果参数是控制字符为真
isdigit(c)如果参数是数字为真
isgraph(c)如果参数是除空格之外的打印字符为真
islower(c)如果参数是小写字母为真
isprint(c)如果参数是打印字符(包括空格)为真
ispunct(c)如果参数是标点符号为真
isspace(c)如果参数是标准空白字符为真,如空格、进纸、换行符、回车、制表符
isupper(c)如果参数是大写字母为真
isxdigit(c)如果参数是十六进制时为真
tolower(c)如果参数是大写字母,输出对应的小写字母;否则原样输出
toupper(c)如果参数是小写字母,输出对应的大写字母;否则原样输出

标准库类型vector——P86

# include < vector>
vector< int> v1(10); //v1有10个元素,每个元素为0
vector< int> v2{10}; //v2有一个元素值为10

函数用法
v.empty()如果v不含有任何元素,返回真否则返回假。
v.size()如果v中元素个数
v.push_back(t)在v的末端添加一个值为t的元素。

vector对象的下标运算符可用于访问已存在的元素,而不能用于添加元素。
(常见错误类型为缓冲区溢出(buffer overflow))

迭代器——P95

拥有迭代器的类型同时拥有begin和end的成员,其中begin成员负责返回指向第一个元素的迭代器。end成员则负责返回指向容器“尾元素的下一位置”的迭代器。

如果容器为空,begin和end返回同一个迭代器,都是尾后迭代器。

标准容器迭代器的运算符

函数用法
*item返回迭代器item所指元素的引用
iter->mem解引用iter并获取该元素的名为mem的成员,等价于(*iter).mem
++iter令iter指示容器中的下一个元素
–iter令iter所指示容器中的上一个元素
==判断两个迭代器是否相等,如果两个迭代器指向的是同一个元素则相等;反之,不相等。
!=判断是否不等

因为end返回的迭代器并不实际所指示某个元素,所以不能对其进行递增或解引用的操作

容器一般使用iterator和const_iterator来表示迭代器的类型

箭头运算符把解引用和成员访问两个操作结合在一起。it->mem和(*it).mem表达的意思是一样的。


但凡是使用了迭代器的循环体,都不要向迭代器所属的容器添加元素。

多维数组——P128

要使用范围for语句处理多维数组,除了最内层的循环外,其他所有循环的控制变量都应该是引用类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值