История изменений
Исправление Begemoth, (текущая версия) :
не боишься что потратишь в 2 раза больше памяти на копию строки?
1. QString хранит строки QChar, не конкретизируя кодировку этих QChar'ов. ТС хочет вывести строку в системной кодировке, как ты обойдёшься в общем случае без создания копии строки в нужной кодировке?
2. В 2 раза больше памяти чем ТС я не израсходую, будет различаться только момент уничтожения этой копии.
чому бы тогда вообще не запретить new? А то мало ли чего они там нагородят, противные :-)
Так вот в С++14 добавят std::make_unique и этот new будет нужен только для реализации классов непосредственно управляющих распределением памяти (умные указатели, векторы, списки и т.д.). Стиви, голым new не рекомендуют пользоваться уже дано, даже выражение типа foo(new A, new B) может привести к утечке памяти (при том что foo, удаляет полученные объекты или иным способом заботится об этом).
Исходная версия Begemoth, :
не боишься что потратишь в 2 раза больше памяти на копию строки?
1. QString хранит строки QChar, не конкретизируя кодировку этих QChar'ов. ТС хочет вывести строку в системной кодировке, как ты обойдёшься в общем случае без создания копии строки в нужной кодировке?
2. В 2 раза больше памяти чем ТС я не израсходую, будет различаться только момент уничтожения этой копии.
чому бы тогда вообще не запретить new? А то мало ли чего они там нагородят, противные :-)
Так вот в С++14 добавят std::make_unique и этот new будет нужен только для реализации классов непосредственно управляющих распределением памяти (умные указатели, векторы, списки и т.д.). Стиви голым new не рекомендуют пользоваться уже дано, даже выражение типа foo(new A, new B) может привести к утечке памяти (при том что foo, удаляет полученные объекты или иным способом заботится об этом).