相关疑难解决方法(0)

在C中不必要的指针转换

我在这个帖子上对我的回答发表了评论:

函数调用中的malloc似乎在返回时被释放?

总之,我有这样的代码:

int * somefunc (void)
{
  int * temp = (int*) malloc (sizeof (int));
  temp[0] = 0;
  return temp;
}
Run Code Online (Sandbox Code Playgroud)

我有这个评论:

我可以说,请不要转换malloc的返回值?它不是必需的,可以隐藏错误.

我同意在C中不需要强制转换.它在C++中是强制性的,所以我通常添加它们以防万一我必须在C++中移植代码.

但是,我想知道这样的演员是如何隐藏错误的.有任何想法吗?

编辑:

似乎双方都有非常好的和有效的论据.感谢发帖,伙计们.

c c++ pointers

16
推荐指数
4
解决办法
2370
查看次数

标签 统计

c ×1

c++ ×1

pointers ×1