Безопасно ли использовать двойную цитату для инициализации строки в качестве использования общего алгоритма в C ++?C++

Программы на C++. Форум разработчиков
Anonymous
Безопасно ли использовать двойную цитату для инициализации строки в качестве использования общего алгоритма в C ++?

Сообщение Anonymous »

Я изучаю 5 -е издание C ++. На стр. 479 он упоминает, что < /p>

Код: Выделить всё

string sum = accumulate(v.cbegin(), v.cend(), "");
неверен, так как no + on const char* для ""; < /p>
< /blockquote>

Тип v < /code> является последовательным контейнером, таким как вектор. < /p>

Я обнаружил, что использование двойных кавычек для создания строки опасно, особенно для условий, которое вы используете общий алгоритм, поскольку для этого требуется определенный оператор объектов. < /p>

Но я не могу понять, что означает описание no + on const char*< /code>? < /p>
  • будет вызвать строку конструктора (const char* s); < /code>, который определен в C-String?

    Я думаю, что это делает компилятор, интерпретируя строку, которая инициализируется с кавычками в c ++. < /p> < /li>
    Должны ли мы создать Строка с двойными кавычками? Это приведет к переоценке на операторах неудача.


Подробнее здесь: https://stackoverflow.com/questions/250 ... lgorithm-i

Вернуться в «C++»