string
1、头文件#include<string>
2、字符串创建
3、字符串个数、大小、拼接
4、string遍历:下标法或迭代器、string删除、排序
vector
1、头文件#include<vector>
2、vector创建、在末尾移除插入数据
3、vector访问:数组、迭代器
4、二维数组两种定义方式
类型转换
一、C语言的隐式转换和显示转换
显示转换——就是强制转换,在被转换的表达式前加(类型)
隐式转换——就是不需要加强制转换,系统会自动做这个操作
二、C++的类型转换运算符
==1、static_cast<T>(expr)
似于C语言的强制转换,保证代码的安全性和正确性
可用于以下几种情况
1)相关类型转换:例如整型、实型
double b=1.23;
int a =static_cast<int>(b);
char c=static_cast<char>(b);
2)void*指针与其他类型之间的转换
char ch="abc";
int *p=&ch;
void*p1=p;
int *p2=static_cast<int *>(p);
2、const_cast<T>(expr)
——去除指针和引用的const属性
int a=3;
const int *p=&a;
int *p1=const_cast<int *>(p);
const int &la=a;
int &la2=const_cast<int &>(la);
3、dynamic_cast<T>(expr)
——运行时类型识别和检查,用于父类和子类的之间的转换
4、reinterpret_cast<T>(expr)
1)编译的过程中进行类型转换
2)reinterpret重新编译:处理无关类型的转换
3)特点:不安全,既不在编译器期间也不再运行期间进行检查,安全性完全由程序员决定