Из той же оперы, что и
auto_value<>Автор: Кодт
Дата: 16.01.03
.
Иногда приходится писать код типа:
DWORD err = GetLastError();
(void)err;
BOOL res = CloseHandle(f);
assert(res);
(void)res;
Дабы сократить 1 строчку, подумалось:
template<typename T>
class unused
{
public:
unused(T v) : v(v) {}
unused(unused const& v) : v(v.v) {}
operator T () const {return v;}
private:
void operator = (unused const&);
T volatile const v;
};
unused<DWORD> err = GetLastError();
unused<BOOL> res = CloseHandle(fout);
assert(res);
З.ы. volatile важен, т.к. обычно его забываешь ставить, и потом в релизе до истины уже не докапаешься.