Насколько я верно помню, то преобразование
std::string == const char*
Работает так:
1. Тип string, значит второй должен быть string
2. string имеет конструктор на char, а значит он сразу создает объект
3. Вот тут я в душе не пойму... Если в сях сравниваются ссылки в string, то нах тогда блок памяти под каждую переменную => что-тт тут не то, чего я не понимаю в болезни