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