一、知识点
1、命名空间的using声明
2、标准库string类型
3、标准库vector类型
4、迭代器简介
5、标准库bitset类型
二、要点
1、命名空间的using声明
使用using声明可以在不需要加前缀namespace_name::的情况下访问命名空间中的名字,格式如:using namespace::name;
2、标准库string类型
string对象初始化方式 |
string s1; |
默认构造函数,s1为空串 |
string s2(s1) |
将s2初始化为s1的一个副本 |
string s3(“Value”); |
将s3初始化为一个字符串字面值的副本 |
string s4(n, ‘c’); |
将s4初始化为字符‘c’的n个副本 |
(1)、string类型的输入操作符和getline函数
string类型的输入操作符:读取并忽略开头所有的空白字符(空格、换行符、制表符);读取字符直到再次遇到空白字符,读取结束。
getline函数:包含2个参数,输入流对象和string对象;读取内容直到碰到换行符,但并不包括换行符(它不忽略开头的换行符,如果有,那么这次的读取内容为空)
(2)、string::size_type类型
string::size_type是一种与机器无关的、无符号的整型类型(int,long都可能),它可以保存任意string对象的长度。
(3)、与字符串字面值连接的注意点
string s1 = "hello";
string s2 = "world";
string s3 = s1 + " "; // ok
string s4 = "hello" + " "; // error:不能2个字面串字面值相加
string s5 = s1 + " " + "world"; // ok:s1和" "相加后还是一个新的string对象,可以和后面的相加
string s6 = "hello" + " " + s2; // error:前面2个就相当于字面串字面值相加
(4)、string对象中字符的处理
主要是用到cctype头文件中定义的函数,如下:
Cctype定义的函数 |
|
isalnum(c) |
如果c是字母和数字,则为true |
isalpha(c) |
如果c是字母,则为true |
isdigit(c) |
如果c是数字,则为true |
isxdigit(c) |
如果c是十六进制数,则为true |
iscntrl(c) |
如果c是控制字符,则为true |
ispunct(c) |
如果c是标点符号,则为true |
isspace(c) |
如果c是空白字符,则为true |
isprint(c) |
如果c是可打印的字符,则为true |
isgraph(c) |
如果c不是空格,但可以打印,则为true |
islower(c) |
如果c是小写字母,则为true |
isupper(c) |
如果c是大写字母,则为true |
tolower(c) |
如果c是大写字母,则返回其小写字母形式,否则直接返回c |
toupper(c) |
如果c是大写字母,则返回其小写字母形式,否则直接返回c |