Почему большинство строковых функций в stdlibs C/С++ принимают указатели char*
?
Подписанная подпись char
даже не указана в стандарте, хотя большинство современных компиляторов (GCC, MSVC) рассматривают char
как подписанные по умолчанию.
Когда было бы целесообразно рассматривать строки как (возможно) подписанные байты? AFAIK нет значащих значений символов ниже нуля в любом наборе символов. Для определенных строковых операций значения должны быть добавлены к unsigned char
в любом случае.
Итак, зачем использовать stdlibs char*
? Даже C++
-специфические методы, такие как string::string(const char *);
?