о каком удвоении речь? | о строках в parser
Александр Петросян (PAF) 01.07.2004 18:37
1. в конкретном коде вы помещаете просто ссылку на строку в переменную.
нет удвоения.
2. в parser вообще работа со строками организована таким образом, что длинные строки/подстроки не дублируются.
подстрока большого размера записывается как «надо бы достать вот оттуда с такого-то смещения столько-то байт
потом».
делается это очень быстро, места не занимает.
интересующимся см. libcord из поставки libgc.
http://cvsview.parser.ru/cgi/viewcvs.cgi/parser3/src/lib/cord/include/cord.h?rev=HEAD&content-type=text/vnd.viewcvs-markup