C / C ++ stdlibsのほとんどの文字列関数がchar*
ポインタを受け取るのはなぜですか?
char
最新のコンパイラ(GCC、MSVC)のほとんどはデフォルトで署名付きとして扱われますが、の署名は標準では指定されていませんchar
。
文字列を(おそらく)符号付きバイトとして扱うことが理にかなっているのはいつですか?AFAIKどの文字セットにもゼロ未満の意味のある文字値はありません。unsigned char
特定の文字列操作では、値をとにかくキャストする必要があります。
では、なぜstdlibsが使用するのchar*
でしょうか。?C++
などの特定の方法でもstring::string(const char *);