Ну с начала о разоблачении.
Хоть ты и думаешь, но из-за невнимательности соображаешь плоховато. В следствие чего, не сразу догоняешь что от тебя требуется или что тебе пытаются втолковать.
Теперь о былом.
О том, что ты мне пытаешься разъяснить, я и так знаю.
Вот тока я так и не дождался внятного ответа, зачем нужны за комментированные мною строки.
Что же. Дам разъяснение сам.
В операциях присваивания настоящего копирования памяти не происходит, а просто копируется указатель и увеличивается счетчик ссылок на 1.
А при изменении переменной уже создается новая уникальная запись со своим счетчиком ссылок.
Если при сравнении у двух переменных, счётчики ссылок и указатели совпадают, то сравнения строк, как таковых, не происходит, а возвращается валидность сравнения.
Что и сказывается на разнице результатов выполнения функции.
Если необходимо создать именно уникальную строку, а не увеличить счетчик ссылок, то для этого и имеется процедура UniqueString.
Терь представь. Сколько ты зря времени потратил на написание процедур и участие в переписке на форуме. А ведь можно было все так элементарно объяснить. Если конечно же понимание этого было, а не понимание того, что так надо.
|