天天看点

C++ Primer 5th笔记(3)字符串、向量和数组:字符串

1. 命名空间using

using std::cin;

cin << “”;

疑问:头文件不应包含using声明?(说是产生名字冲突)

2. string

2.1拷贝初始化和直接初始化

拷贝初始化:使用等号(=)初始化变量

直接初始化:不使用等号,则执行的是直接初始化

string s1;   //默认初始化,s1是一个空字符串

string s2(s1);   //直接初始化
string s3("value"); //直接初始化

string s2=s1; //拷贝初始化
string s8 = string(n,'c'); // 拷贝初始化,多构造了一个临时对象
           

2.2 cin 和getline

void static getLine() {
	string line;

	// read input a line at a time until end-of-file
	while (getline(cin, line))
		cout << line << endl; 
} 

void static getCin() {
	string line;

	// read input a line at a time until end-of-file
	while (cin >> line)
		cout << line << endl;
} 
           

2.3 string::size_type类型

string的size函数返回的是size_type类型,int或者unsigned;

2.4 string的比较

先比较长度,再看第一对相异字符比较的结果

2.5 字符函数

判断字母或数字,控制字符,不是空格但可打印,小写,大写,标点符号,16进制