Сегодня, написав код Visual С++, я столкнулся с чем-то, что меня удивило. Кажется, С++ поддерживает ++ (increment) для bool, но не - (декремент). Это просто случайное решение, или есть какая-то причина этого?
Это компилируется:
static HMODULE hMod = NULL;
static bool once = false;
if (!once++)
hMod = LoadLibrary("xxx");
Это не означает:
static HMODULE hMod = NULL;
static bool once = true;
if (once--)
hMod = LoadLibrary("xxx");