标签: c++ clang
在此代码段中...
sf::Time obj; sf::Time* ptr; int i; int* p2;
第一行不会产生警告,但其他三行都会产生警告。怎么样?
(顺便说一句,这是一个完整的方法。对变量没有任何处理。)
答案 0 :(得分:6)
对象可以有构造函数和析构函数。因此,虽然您可能没有使用实际变量,但您可能依赖于在构造函数或析构函数中运行的代码。
这方面的一个很好的例子是std::lock_guard,它利用析构函数在锁超出范围时解锁互斥锁。
std::lock_guard