C++
1. 面向对象编程
2. 泛型编程:将数据类型泛化,对数据类型进行一层抽象
1.1 函数模板
- 基本语法
- 具体化
1.2 类模板
3. STL(标准模板库)
- 容器(数据结构)
- 算法
- 迭代器
- 仿函数
- 适配器(配接器)
- 空间配置器
3.0 iterator
1. 定义
2.
3. 运算
3.1 string
1. 定义
2. 初始化和赋值
- 初始化:val,string,(num,char)
- 直接初始化
- 拷贝初始化
- 赋值:val,string,(num,char)
3. 运算
>,<,==,!=+- string+string =>right
- string+val or val+string =>right
- val+val =>error
string a("hello");string b("world");string c = a+b; //rightstring d = a+"world"; //rightstring e = "hello" + "world"; //error//[Error] invalid operands of types 'const char [6]' and 'const char [6]' to binary 'operator+'
4. 方法
读入s
cin >> s:忽略开始的空格,之后遇到空格输入结束
cin >> s;input outputhello world hello
getline(cin,s):一次读入一行,getline读入换行符,但换行符不会被输入string
- 不能使用printf/scanf,若要使用需先转化为字符数组(见算法笔记P203)
- s.begin() s.end()
- s.length()/s.size() //s.empty()
- s.size()返回unsigned int,在与int比较时容易出现问题
- find() insert() erase() clear()
- substr() replace()
- 中的函数:ispunct() toupper()
5. 使用
- 遍历
for(auto it = s.begin(); it!=s.end(); it++)*it = toupper(it);
3.2 vector
4. C++之道
- 面向对象思想(OOP):抽象变量和函数
- 泛型编程思想(GP):抽象类的数据类型
