Некоторые особенности при работе с BSTRING и ASTRING #2

AN>     Я, может и щас глупость скажу, но ИМХО сей ASTRING есть ни что иное, как виндовый атом и такое поведение для него вполне естественно, т.е. при создании строки RTL лезет в таблицу атомов, ежели там такой нет, то добавляет, если есть, то увеличивает счетчик обращений к этой строке и возвращает уже ея.  При удалении строка физически удаляется из таблицы только ежели счетчик равен 0. (ну прям как FileManager в ABC с откр/закр фалов :)).

Так, ASTRING именно так и заявлена разработчиками. Как аналог атома. Я с виндовыми атомами не разбирался, но, исходя из твоего описания, могу сказать, что ASTRING несколько отличается от атома:

  • у ASTRING нет счетчика
  • она физически удаляется ТОЛЬКО при завершении программы.

Кстати, на каждую ASTRING уходит, как минимум, от 14 до 22 байт доп. памяти.