то вернуть строку, иначе вернуть новую строку, в которой первая и последняя буква равны первой и последней букве исходной строки, а между ними количество оставшихся букв.
почему return (string(st.front() + to_string(st.size() - 2) + st.back()));
возвращает то, что я хочу, а
return ( string("" +st.front() + to_string(st.size() - 2) + st.back()));
возвращает какую-то фигню типа
__pos (which is %zu) > this->size() (which is %zu)10n
я думал тут должна быть конкатенация строк. Почему так происходит?
Потому что “” это const char*
Обсуждают сегодня