为什么 Clang 警告未使用的指针和未使用的基元,而不是未使用的对象?



在此代码片段中...

sf::Time obj;
sf::Time* ptr;
int i;
int* p2;

第一行不会发出警告,但其他三行会发出警告。怎么会呢?

(顺便说一句,这是一个完整的方法。对变量不执行任何操作。

对象可以有构造函数和析构函数。因此,虽然您可能没有使用实际变量,但您可能依赖于在构造函数或析构函数中运行的代码。

一个很好的例子是std::lock_guard,它利用析构函数在锁超出范围时解锁互斥锁。

最新更新