【发布时间】:2018-05-14 14:27:21
【问题描述】:
在我们的源代码中有这样的函数调用,其中返回值被强制转换为void:
(void) pthread_mutex_lock(&mutex);
这样做的目的是什么?
【问题讨论】:
-
另一个我发现更好的副本stackoverflow.com/questions/3035927/…
标签: c
在我们的源代码中有这样的函数调用,其中返回值被强制转换为void:
(void) pthread_mutex_lock(&mutex);
这样做的目的是什么?
【问题讨论】:
标签: c
这不是功能或任何东西。这只是记录或向未来的编码人员或维护人员显示返回值被忽略并且编码人员意识到这一点的一种简单方法。除了这个没有别的。
某些函数(为 gcc 应用 warn_unused_result 属性)在隐式忽略返回值时强制执行警告 - 可以使用 void 强制转换来抑制此警告。 (在某些编译器版本上,单独使用 (void)cast 是不行的 - 但那是另一回事)
【讨论】:
基本上你不必这样做。
大多数情况下,这样做是因为您知道返回了一个值并将其显示给从事该项目的其他开发人员。
【讨论】: