std::string operator+() instead of
a simple appendЛицо, не являющееся членом какой-либо организации, 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++ |
| Значение по умолчанию: Off |
Синтаксис командной строки:
EXPENSIVE_STD_STRING_APPEND |
| Удар: низко |