std::stringの比較
memcmpとして実装されているのが謎だったのだが、今更ながらchar、signed char、unsigned charはそれぞれ別の型ということを知った。
- 符号ありかどうかは未定義なのでmemcmpでもよい
- strcmpだとNUL文字から先が比較できないから使わない
ってことなんだろうか?
1バイトの整数値としては符号つきの方が便利だけど文字の値としては不便。isdigit((unsigned char)c)とか、まさに負の遺産。
memcmpとして実装されているのが謎だったのだが、今更ながらchar、signed char、unsigned charはそれぞれ別の型ということを知った。
ってことなんだろうか?
1バイトの整数値としては符号つきの方が便利だけど文字の値としては不便。isdigit((unsigned char)c)とか、まさに負の遺産。