一、知識點
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 |