1の歩数表現。こんな風に使うらしい

某、ソケットライブラリにて。
SOCKET型というのは環境によってint型かもしれないしunsigned int型(以下 uint)かもしれないという厄介な型だ。
で、有効でない値を示す場合、int型だと-1 uint型だとUINT_MAX(uintが示せる最大の値)
ムカツク事にuint型の変数に以下のようなプログラムを組んでも上手く動かない事が多い。


if(uint_value == -1){
printf("...なんたらかんたら");
}
で、そのソケット型の有効でない値を示す#defineに以下のような定義になっていた。

///状況に応じて反転です!!!
INVALID_SOCKET (SOCKET)(~0)


私にとって、「これは盲点でしたな・・・」 といった感じか?