Почему оператор не перегружается доступный для классов в Delphi?

Я всегда задавался вопросом об этом некоторое время, но почему оператор перегружается не доступный для классов в Delphi?

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

12
задан Joe 19 January 2010 в 01:29
поделиться

1 ответ

близко. Это потому, что объекты являются ссылочными типами, а память управляется вручную. Так что, если вы сказали MyResult: = myobject1 + myObject2 + myobject3; , вам нужно будет создать промежуточный объект где-то там, и нет кода, чтобы освободить его, поэтому вы получаете утечки памяти.

12
ответ дан 2 December 2019 в 21:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: