realloc是扩容内存
在一段连续的内存上
如果扩容的内存在后面有充足的空间 则申请成功 返回首地址
如果扩容的内存没有足够的空间 就会将原来的数据拷贝到一个新的地方
然后返回的地址与前面的不同
static_cast 是指有一点关系的隐式转换
比如 void * int * 就可以通过static_cast进行转换
int 和 int* 就不能通过static_cast进行转换
const_cast
非const变量–> 变成const—>const_cast–>脱const
如果原先的变量就是const 则报错