Какой лучший способ вернуть кортеж из функции в C ++ 11?

Один создает String в String Constant Pool

String s = "text";

, другой создает строку в пуле констант ("text") и другую строку в обычной куче пространство (s). Обе строки будут иметь то же значение, что и «текст».

String s = new String("text");

s затем теряется (подходит для GC), если позже не используется.

Строковые литералы, с другой стороны, используются повторно. Если вы используете "text" в нескольких местах вашего класса, это будет фактически одна и только одна строка (т. Е. Несколько ссылок на одну и ту же строку в пуле).

25
задан Andy Prowl 23 May 2013 в 12:09
поделиться