В чем разница между указателем и дескриптором

Не могу сказать, что у меня хороший опыт работы с C++, поэтому в последнее время я очень часто слышу Handle. Я знаю, что такое указатель (который хранит адрес ячейки памяти, такой как ссылка), но я не совсем уверен, что такое дескриптор и в чем разница между этими двумя. И было бы здорово, если бы вы предоставили образец кода на C#.

Кстати, я гуглил эти термины, однако многие люди давали разные объяснения, поэтому я думаю, что получил лучшее из SO.

РЕДАКТИРОВАТЬ:

Небольшое предупреждение для других посетителей:Дескриптор похож на ссылку, указывающую на ресурс. Он может указывать на адрес памяти, как Pointer, но Handle — это более общий термин, поэтому он больше похож на псевдоуказатель. Файл является хорошим примером для этого. Файл может иметь идентификатор, который ОС может понять и использовать для поиска файла. Таким образом, дескриптор может содержать этот идентификатор (который может быть или не быть адресом памяти), и когда мы передаем этот дескриптор, ОС может легко найти файл.

Пожалуйста, обратитесь к ответам ниже для получения более подробной информации.

Редактировать:

Все ответы на этот вопрос потрясающие и очень понятные. Мне трудно выбрать один из них, чтобы отметить его как ответ.

9
задан Tarik 22 May 2012 в 16:17
поделиться