|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
Если возвращается переменная ссылочного типа, то возвращается объект или просто ссылка20.12.2012, 23:22. Показов 1872. Ответов 11
Метки нет (Все метки)
Почему-то авторы всегда акцентируют внимание на передачу параметров в функцию, а на возврат не очень:
0
|
||||||
| 20.12.2012, 23:22 | |
|
Ответы с готовыми решениями:
11
Интерфейс, в методе которого создается объект типа IDictionary и возвращается ссылка на этот объект Не возвращается булевая переменная
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 21.12.2012, 01:46 [ТС] | ||||||
|
Но не суть. Вопрос был задан не просто так. Имеем:
Немножко бы всё прояснилось, если бы я умел вызывать деструктор объекта, тогда бы написал деструктор и просто посмотрел вызывается деструктор или нет. Но тут как-то хитро обстоят дела с деструкторами, вроде как и заботиться о них не очень надо... Добавлено через 1 час 18 минут Я немного разобрался, дело в том, что скорее всего (не знаю как на самом деле), в функции foo ссылка на kl создаётся в области памяти, называемой кучей, в противоположность стеку. А ссыль на объект, соданный в куче, можно вернуть безболезненно. В этом смысле этот объект не локальный.
0
|
||||||
|
134 / 87 / 22
Регистрация: 28.08.2009
Сообщений: 363
|
||
| 21.12.2012, 09:26 | ||
|
за этими вещами надо следить, чтобы не происходило утечек памяти
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 21.12.2012, 10:07 [ТС] | ||
|
"Одной из наиболее важных возможностей управляемого кода является сборка мусора (garbage collection). Она гарантирует в .NET полное освобождение использованной приложением памяти, когда она уже не нужна. " То есть типа я следить не должен. Ну то есть незачем мне явно память освобождать- авось сама освободится.
0
|
||
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 21.12.2012, 12:07 | |
|
kravam, должны
![]() как минимум адекватным расположением блоков,то-есть архитектурой. (иногда даже нужно писать подобие деструкторов) Иногда можно насильно вызывать деструктор.(а вот тут, что деструктор и финализатор в Шарпе просто напросто перепутали. Деструктор - пометил объект на удаление. Финализатор - удаляет обьект,а должно быть на оборот (= ) Деструкторы вызывают,а финализаторы это уже дело GC.
0
|
|
|
134 / 87 / 22
Регистрация: 28.08.2009
Сообщений: 363
|
|
| 21.12.2012, 12:21 | |
|
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||
| 21.12.2012, 14:10 [ТС] | |||||||
0
|
|||||||
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 21.12.2012, 23:48 | |
|
kravam, за блоком ссылка уже пустая.. да и конец программы,незачем.
Добавлено через 1 минуту kravam, вы же только до конструкторов дошли,как будет GC вы заметите как что освобождается)
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 22.12.2012, 01:05 [ТС] | |
|
стоп-стоп-стоп. На мой взгляд никаких скидок на то что конец программы быть не должно. Это ладно я малограмотный- но не авторы же книг. Это я могу сказать "ссылка больше не нужна, ибо программа заканчивается поэтому ресурсы и так освободятся"- но не авторы же учебников!
...если в С++ память освобождать НУЖНО, то освобождать нужно БЕЗУСЛОВНО. И не дай Бог в какой о книге изучение оператор delete (освобождение памяти) вы встретите не СРАЗУ ЖЕ за оператором new (выделение памяти)- в топку такую книгу и весь разговор. А тут вроде как нужно, но... потерпит. Не по теме: Этак можно и всю книгу прочесть, и с освобождение памяти не столкнуться! Так-то перед формошлёпством там осталась одна серьёзная тема- обобщения (аналоги шаблонов, как я понял в C++) и всё, считай базовый синтаксис изучен, вперёд к формошлёпству! А освобождением памяти и не пахнет! ну ладно время терпит пока.
0
|
|
|
Темная сторона .Net
592 / 489 / 39
Регистрация: 21.07.2012
Сообщений: 1,668
|
|
| 22.12.2012, 01:34 | |
|
kravam, здесь с памятью проблем не так много,да иногда очень неудобно,когда архитектура неграмотная.
Можно создать деструктор раз уж сильно припекло,но уверяю ничего сверхумного вы там не увидите. (реализуем интерфейс Dispose() Да объект будет жить весь блок Main,так как он главный,если бы вы перенесли кусок кода с созданием экземпляра в метод,то он будет помечен на удаление и при последующем запуске GC - будет удален. (Здесь можно подписаться на события,что б знать когда происходит удаление объекта,но я за 2 года этого еще не делал,так как нужды не было =) ) Насильно удалять объекты почти что нельзя,а коль и можно,то не советуют ибо грех. об этом холиварят и будут наверное) Вы пометили на удаление или создали определенные условия - Уборщик сделал все за вас. p.s. И да поможет вам строгая типизация !!111
1
|
|
| 22.12.2012, 01:34 | |
|
Помогаю со студенческими работами здесь
12
Возвращается только один объект вместо списка Движение ImageView. Объект возвращается на исходную позицию Если объект добавлять в 2 контейнера, то в них будет ссылка или новый объект? Возвращается пустой POST если русская строка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|