在malloc()返回的C地址隐式类型转换,在C ++中,我需要显式转换类型。但是我使用的是整数指针,它会根据指针算法指向下一个地址,那么为什么我需要强制转换内存地址?
我实际上是在使用'new'关键字,但我需要对此清除思路。
答案 0 :(得分:9)
但是我使用的是整数指针,它将根据指针算法指向下一个地址
是的,但是在这里并不令人陶醉。
malloc
返回一个void *
。
在C语言中,可以{em>隐式将指向void
的指针转换为指向任何其他类型的指针。
在C ++中,没有这种隐式转换(大概是为了使该语言更安全地使用)。
就这么简单。