标签: c++
我在阅读pugixml源代码时看到了它,我真的不知道为什么会这样。
void foo(void* ptr) { (void)!ptr; // What does this line do? }
答案 0 :(得分:9)
(void)ptr;是一种抑制“未使用参数”警告的常用方法,当函数签名需要包含比函数使用的参数更多时,这可能是必要的(例如,在回调中,如果'用户数据'参数未使用)。
(void)ptr;
!对我来说是新的,虽然在这种情况下它是多余的,因为返回值只是扔掉了。
!