为什么动态分配的内存需要类型转换?

时间:2018-11-06 13:19:22

标签: c++ c malloc

在malloc()返回的C地址隐式类型转换,在C ++中,我需要显式转换类型。但是我使用的是整数指针,它会根据指针算法指向下一个地址,那么为什么我需要强制转换内存地址?

我实际上是在使用'new'关键字,但我需要对此清除思路。

1 个答案:

答案 0 :(得分:9)

  

但是我使用的是整数指针,它将根据指针算法指向下一个地址

是的,但是在这里并不令人陶醉。

malloc返回一个void *

在C语言中,可以{em>隐式将指向void的指针转换为指向任何其他类型的指针。

在C ++中,没有这种隐式转换(大概是为了使该语言更安全地使用)。

就这么简单。