【发布时间】:2023-03-30 11:30:01
【问题描述】:
我最近读到一篇文章说在 C 中没有必要显式地对 malloc 和 calloc 进行类型转换,但在 C++ 中这是强制性的。为什么会这样?谁能解释一下?
【问题讨论】:
-
这能回答你的问题吗? Typecasting malloc C++
-
我编辑了标签,因为您在询问 C++,但在 C 中有:Do I cast the result of malloc? 在 C 中,公认的智慧不仅是不必要的,而且是不受欢迎的。
-
另见this。
-
简短回答,因为 cpp 中的
void *不会隐式转换,而在 C 中却可以。这就是语言的设计方式。 -
@gst: This question 并回答那种地址