Здравствуйте, Demay, Вы писали:
D>Здравствуйте, ss_greh, Вы писали:
_>>Здравствуйте, Vamp, Вы писали:
_>>>>Не могу понять почему. На сколько я знаю в C++ строковый литералы имеют тип const char*.
V>>>Нет. const char [].
_>>Хорошо. Меня ввела в заблуждение книга Николая Джосаттиса "С++ стандартная библиотека".
_>>В ней черным по белому, в главе посвещенной строкам, написано:
_>>_>>...
_>>Учтите, что тип строковых литералов (например, "hello") был заменен на const char*. Тем не менее
_>>для обеспечение совместимости поддерживается неявное (хотя и нежелательное) преобразование к char*.
_>>...
_>>Буду теперь думать, прежде чем верить печатному слову.
D>Джосьютис не сказал ничего неверного.
D>Его слова о типе строковых литералов в главе 11 относятся к конструкторам string, которые получают строковые литералы
Цитата, приведенная мною выше, взята из краткого предисловия к 11 главе. В нем ни слова не говорится о конструкторах класса basic_string<>, зато дается определение тому, что можно понимать под строкой.
Именно в этом контексте Nicolai Josuttis пишет про тип строковых литералов.