интересно, почему std::string не имеет автоматического приведения к const char*
и нужно каждый раз писать c_str() ?
перевожу тут один старый код, использовавший MFC, на кроссплатформенные рельсы, там CString имела автоматическое преобразование.
Наверняка это преобразование не просто так не сделали, а имели в виду какую-то глубокую мысль. Какую?