std::string operator+() вместо простого добавленияНеучастник std::string operator+() вызывается при добавлении (или +=) метод был бы более эффективным
Этот дефект возникает при добавлении к строке с помощью функции, не являющейся членом std::string operator+(), например:
std::string s1; s1 = s1 + "Other";
Операция:
s1 = s1 + "Other";
std::string operator+() для конкатенации строк в правой части назначения. Функция возвращает временную строку, которая затем назначается s1.Прямой вызов функции-члена operator+=() избегает создания этой временной строки и является более эффективным.
Для добавления к строке используйте функцию-член operator+=(), например:
std::string s1; s1 += "Other";
append, например:std::string s1;
s1.append("Other");Повышение производительности может зависеть от используемого компилятора, реализации библиотеки и среды.
| Группа: Производительность |
| Язык: C++ |
| По умолчанию: Откл. |
Синтаксис командной строки:
EXPENSIVE_STD_STRING_APPEND |
| Воздействие: Низкий |