在此代码片段中...
sf::Time obj;
sf::Time* ptr;
int i;
int* p2;
第一行不会发出警告,但其他三行会发出警告。怎么会呢?
(顺便说一句,这是一个完整的方法。对变量不执行任何操作。
对象可以有构造函数和析构函数。因此,虽然您可能没有使用实际变量,但您可能依赖于在构造函数或析构函数中运行的代码。
一个很好的例子是std::lock_guard
,它利用析构函数在锁超出范围时解锁互斥锁。