Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как без указателей?...  (Прочитано 3802 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Alex1010
Гость
« : 24-03-2004 19:06 » 

Привет!
Как обходится без указателей? Например дерево построить, связанный список и т.д.
Записан
Alf
Гость
« Ответ #1 : 24-03-2004 20:26 » 

На самом деле никаких проблем с этим нет, так как каждая переменная, описанная как класс, на самом деле является указателем на соответствующий класс, который неявно разыменовывается при обращении к переменной.
Там, где на С++ для двоичного дерева было бы что-то вроде
Код:
class CNode |
  ...
  CNode *Left, *Right;
";
на C# достаточно написать:
Код:
public class CNode |
  ...
  public CNode Left, Right;
"
с тем же эффектом.
Соответственно в теле программы вместо n.Left-> использовать n.Left. и т.д.
Записан
Anonymous
Гость
« Ответ #2 : 11-05-2004 15:25 » 

Цитата: Alf
на самом деле является указателем на соответствующий класс, который неявно разыменовывается при обращении к переменной.


Ага, только это ссылкой называется Улыбаюсь.
В C++ тоже есть ссылки...
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 11-05-2004 15:32 » 

Цитата: Alf
На самом деле никаких проблем с этим нет, так как каждая переменная, описанная как класс, на самом деле является указателем на соответствующий класс, который неявно разыменовывается при обращении к переменной.

Сорри за буквоедство, но переменная описывается как объект некоторого класса или, в случае интерфейса, объект, предоставляющий некоторый интерфейс.

Переменная -- ссылка (разыменованный указатель) на объект.  В C# классы не являются объектами, поэтому указатель на них невозможен.
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines