无效的类型?或者是什么?为什么?

时间:2014-08-14 20:58:40

标签: c++

我正在寻找llvm clang对C ++标准库的实现......
在文件mutex.cpp中,我找到了以下代码:

void
mutex::unlock() _NOEXCEPT
{
    int ec = pthread_mutex_unlock(&__m_);
    (void)ec;                              // What??, Why??? O.o
    assert(ec == 0);
}

我不明白那句话在做什么以及为什么...... 我需要一些解释。

1 个答案:

答案 0 :(得分:4)

我认为这个表达式用于避免编译器警告变量已声明但未被使用。

由于 user2864740 指出此代码中的断言语句可以是mcaro,在某些情况下不使用该变量。也就是说它可以扩展为空语句。