gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:51 26 4
gpt4 key购买 nike

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

我实际上使用的是“new”关键字,但我需要澄清一下我的想法。

最佳答案

But I'm using an integer pointer which will point out to next address according to the pointer arithmetic

是的,它会,但它在这里不相关。

malloc 返回一个 void *

在 C 中,指向 void 的指针可以隐式转换为指向任何其他类型的指针。

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

就这么简单。

关于c++ - 为什么动态分配的内存需要类型转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53172732/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com