#pragma once #include typedef std::atomic counter; struct MaintainCount { counter & c; MaintainCount(counter & c) : c(c) { c++; } ~MaintainCount() { auto prev = c--; assert(prev); } };