目录
先转载static_cast基本用法
static_cast比较接近于C语言中的强制转换,多用于不同的基本数据类型的转换:
char c1 = 0;
int i = static_cast<int>(c1);
char c2 = static_cast<char>(i);
他可以将空指针转换为目标类型的指针,或反之:
int i =0;
int *pa = &i;
void *pv = static_cast<void*>(pa);
int *pi = static_cast<int*>(pv);
但不能对不同类型的指针进行转换:
int i =0;
int *pa = &i;
char *pc = static_cast<char*>(pa); //编译报错:invalid static_cast from type 'int*' to type &#