Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ссылка C# 
:(
    Опции темы
rukudias
Дата 9.11.2007, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 28.2.2007

Репутация: нет
Всего: 0



Привет Всем!
есть код

class X
{
private int j=0;
}
class Y:x
{
private int i=0;
}
X x=new Y();

фактически x смотрит на 4 байта памяти!
как быть с остальными 4 которые ему достались от класса Y
сборщик мусора часом не удалит сею память? smile 


PM MAIL   Вверх
archeg
Дата 9.11.2007, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 11
Всего: 27



 smile 
Цитата(rukudias @  9.11.2007,  23:39 Найти цитируемый пост)
X x=new Y();

Эт простое приведение класса Y к класу X
Среда при приведении (связаному с наследованием) не меняет сам класс. Она просто помечает что этот класс теперь типа Х, хотя на самом деле он все равно типа Y. Если упростить, она просто помечает что в данный момент члены класа У не видны. Тем не менее они есть и класс занимает тех же 8 байт.


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
nikitao
Дата 10.11.2007, 04:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 4
Всего: 26



rukudias,  мммм  archeg  все верно ессно сказал , но все же ваш вопрос не совсем ясен. Сборщик мусора в положенный ему судьбой срок удалит 8 байт ( размер обьекта клааса Y)....


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
rukudias
Дата 11.11.2007, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 28.2.2007

Репутация: нет
Всего: 0



после присвоения ссылка глядит на 4 байта.Не так ли?
а 4 байта обьекта Y походу весят в воздухе?
сборшик как сними поступит?
PM MAIL   Вверх
nikitao
Дата 11.11.2007, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 4
Всего: 26



Цитата(rukudias @  11.11.2007,  22:58 Найти цитируемый пост)
после присвоения ссылка глядит на 4 байта.Не так ли?

нет , не так. Она указывает на ячейку 8 байт. просто вы не имеете доступ к 4 байт из них....упрощено говоря )))


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
mr.DUDA
Дата 11.11.2007, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(rukudias @  11.11.2007,  21:58 Найти цитируемый пост)
после присвоения ссылка глядит на 4 байта.Не так ли?а 4 байта обьекта Y походу весят в воздухе?сборшик как сними поступит?

Ссылка ссылается на объект X, содержащий 8 байт. Посему, сборщик грохнет те самые 8 байт. Даже если вы присвоите ссылку переменной типа object, она будет ссылаться на объект конкретного размера.


--------------------
user posted image
PM MAIL WWW   Вверх
nikitao
Дата 12.11.2007, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 4
Всего: 26



Цитата(mr.DUDA @  11.11.2007,  23:53 Найти цитируемый пост)
Ссылка ссылается на объект X, содержащий 8 байт. Посему, сборщик грохнет те самые 8 байт. Даже если вы присвоите ссылку переменной типа object, она будет ссылаться на объект конкретного размера. 


mr.DUDA, вопрос несколько в другом.  rukudias опасается , что если мы будем ссылаться на обьект типа  Y через ссылку X , то GC удалит преждевременно часть обьекта класса Y 4 байта..... smile

Короче  ,rukudias,  не бойся. такого не будет ;) 

Это сообщение отредактировал(а) nikitao - 12.11.2007, 01:38


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.