当我阅读pugixml源代码时,我看到它,我真的不知道为什么它在那里。
void foo(void* ptr) {
(void)!ptr; // What does this line do?
}
(void)ptr;
是抑制"未使用参数"警告的常用方法,当函数签名需要包含比函数使用的参数更多的参数时(例如在回调中,如果'user data'参数未使用),这可能是必要的。
!
对我来说是新的,尽管在这种情况下它是多余的,因为返回值只是被丢弃。