Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Обсудим Structure, Class, и т.д., Где принципиальное отличие

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Сассерович
Гость





СообщениеДобавлено: Пт Май 07 2004 02:55    Заголовок сообщения: Обсудим Structure, Class, и т.д., Где принципиальное отличие Ответить с цитатой

Тут меня посетила мысля... Вот нас учили-учили... Рассказывали стачала про структуру, абстрактные типы данных, наконец перешли на классы (всё это разумеется не без С++ и Паскаля) ... Учили мы ссылки на адреса, потом указатели, потом перешли на Win32, где появились ещё дескрипторы и идентификаторы...

Я недоумевал на Втором курсе....

"Я могу в Си реализовать одно и тоже с помощью классов и структур, но в чём же их принципиальное отличие..?"

=. 1 .=

...Прошу разъяснить мне этот вопрос, если кто точно уверен в этой принципиальной разнице...

=. 2 .=

И ещё.... на закуску... Как сами понимаете, В чём разница между ссылкой, указателем, дескриптором и идентификатором??
Вернуться к началу
GREA



Зарегистрирован: 14.05.2003
Сообщения: 758
Откуда: Новосибирск

СообщениеДобавлено: Пт Май 07 2004 09:04    Заголовок сообщения: Ответить с цитатой

Насколько мне известно, в далекой античности серьезные различия были. А сейчас их практически нет.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
grayrat



Зарегистрирован: 30.06.2003
Сообщения: 189

СообщениеДобавлено: Пт Май 07 2004 14:44    Заголовок сообщения: Ответить с цитатой

=. 1 .=

В структуре по умолчанию данные public а в классе - private. Поля структуры можно инициализировать так
struct A
{ int a, b, c; };

A s = { 1, 2, 3 };

а класса - нет.

Если хочешь писать данные в файл, более семантически правильно объявлять их как структуры, и при этом, разумеется, не суй туда виртуальных методов.

=. 2 .=

Это совсем разные вещи.
Указатель это переменная хранящая адрес в памяти.

Ссылка это не переменная. Это дополнительная возможность языка, эдакий псевдомакрос если хотите, позволяющий обращаться к объявленной ранее переменной, которая может находиться где угодно, как к переменной объявленной в текущем блоке. Без ссылок легко обойтись указателями, просто писать а=5 приятнее чем *а=5.

Дескриптор это уникальный номер который выдаётся некоторой сущности при её создании програмным блоком который обслуживает эти сущности. В последствии обращаться к данной сущности можно указав этому блоку нужную операцию над сущностью, её дескриптор и если нужно дополнительные данные. Вот к примеру файлы в операционной системе. При создании (открытии) файла, операционная система заводит структурину со множеством полей хранящих такие вещи как способ открытия файла (read, write и т.п.) его расположение на винте или на флопике, или вообще в сети. Словом, конечному пользователю эти данные давать опасно, если они вообще кому-то нужны. Поэтому эти структуры скрыты в ядре ОС, а при их создании заводится дескриптор (число типа int) которое выдаётся пользователю и ряд интерфейсных функций способных по дескриптору отыскать нужную структуру и выполнить нужное действие.

А идентификатор - это просто человеческое название (если программист удасужился сделать его человеческим, если нет - то нечеловеческое) переменной в исходнике.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
droopy
Гость





СообщениеДобавлено: Пт Май 07 2004 14:50    Заголовок сообщения: Ответить с цитатой

grayrat писал(а):
=. 1 .=


Ссылка это не переменная.

это еще почему. очень даже переменная которая работает как
самораскрывающийся указатель.
Вернуться к началу
grayrat



Зарегистрирован: 30.06.2003
Сообщения: 189

СообщениеДобавлено: Пт Май 07 2004 15:57    Заголовок сообщения: Ответить с цитатой

Коротко и точно
Согласен. Скорее всего так и будет при компиляции.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...