Возврат ICloneable Object (с точки зрения памяти) c # - PullRequest
0 голосов
/ 18 июля 2011

Есть ли разница между: 1- return X.Clone(); и 2- Y=X.Clone(); return Y; с точки зрения памяти?

Ответы [ 2 ]

1 голос
/ 18 июля 2011

Вы просто выделяете один указатель на одну и ту же ячейку памяти в втором случае. Так что для 32-битных систем это + 4 байта.

0 голосов
/ 18 июля 2011

Существует потенциальная разница, хотя компилятор вполне может ее оптимизировать.Тем не менее, будет создан один объект - все, что вы делаете (в худшем случае), создает дополнительную ссылку на него, которая затем очень быстро выходит за рамки.

Любая разница незначительна, и вам не нужно беспокоиться оЭто.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...