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

来源:互联网 发布:墨尔本公立学校知乎 编辑:程序博客网 时间:2024/06/04 20:13

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语句处理多维数组,除了最内层的循环外,其他所有循环的控制变量都应该是引用类型。

阅读全文
0 0
原创粉丝点击