void *malloc(unsigned int size)
void *calloc(unsigned int num, unsigned int size)
void *realloc(void *ptr, unsigned int size)
static_cast
(编译器可实现的隐式转换或类层次间的下行转换)
用于类层次结构中基类和子类之间指针或引用的转换。把子类的指针或引用转换成基类表示是安全的,但把基类指针或引用转换成子类指针或引用时,由于没有动态类型检查,所以,它是不安全的,基类和子类之间的动态类型转换建议使用dynamic_cast
。
用于基本数据类型(例如enum
、struct
、int
、char
和float
等)之间的转换,例如把int
转换成char
,把int
转换成enum
。这种转换的安全性也要开发人员来保证。
把void
指针转换成目标类型的指针。
把任何类型的表达式转换成void
类型。
需要注意的是,static_cast
不能转换掉expression的const
、volitale
或者_unaligned
属性。
dynamic_cast
(操作数只能为类指针或类引用)
const_cast
(去除const
)
reinterpret_const
(一般意义强制转换)