Re[8]: Кому ваще этот С++ нужен?
От: greenpci  
Дата: 28.05.15 14:45
Оценка:
Здравствуйте, Eugeny__, Вы писали:

G>>std::string ::ToLower() это еще одно выделение памяти и копирование или move (который появился относительно недавно).


E__>Хотел бы я знать, как ты собираешься делать ToLower или ToUpper без перевыделения памяти. Учитывая, что ascii давно на помоечке, а в юникоде эта операция запросто может привести к увеличению фактической длины строки в байтах — и как ее затокать назад в исходный буфер?


Во первых, я сказал "еще одно".

std::string ::ToLower()
{
  ...
  return buffer; // вот оно то, которое можно избежать
}



Во вторых, смотри char16_t и char32_t, которые были добавлены в С++11 с целью обеспечить фиксированную длину символа.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.