四种类型转换
static_cast<A> 强制类型转换父类向子类转换的时候不检查,所以可能不安全,但最常用
dynamic_cast<A> 父类向子类转换的时候检查是否父类有虚函数,有才可以转换否则抛出错误
reinterpret_cast<A> 将一种类型的指针转换成另外一种,不做类型检查,很少使用
const_cast<A>(a) 若a原来是const的则去掉const,常用的情况是说一个函数声明是非const的,我们需要传进去一个const变量,则用const_cast去掉const限定
基本类型变量之间的转换
string----->char
char a = b[0];
char-------->string
char a = 'a';
string b;
b.push_back(a);
string----->char *
string a("abc");
a.c_str(); //以null结尾的c风格字符串
a.data(); //非null结尾的字符串
char*------>string
char* a = "abc";
string b(a);
string------>double/int/float
string a("123")
stoi(a);
stof(a);
stod(a);
double/int/float------->string
int a;
double a;
float a;
to_string(a);