Здравствуйте, Анатолий Широков, Вы писали:
АШ>Здравствуйте, v_andal, Вы писали:
_>>А зачем собственно такой огород городить? Если задаться целью залезть в какую-то внутреннюю структуру, то с помощью дебаггера это всё равно можно сделать. Если не ошибаюсь, то основная идея сокрытия внутренней структуры в том, чтобы иметь возможность менять её не ломая при этом код пользователя. Если пользователь решил, что он хочет головной боли, то пусть играет с внутренними данными напрямую, дуракам закон не писан С этой точки зрения, указатели на некую структуру, тело которой не определено для пользователя, это более чем достаточно для "инкапсуляции".
АШ>Это своего рода файервол.
Своеобразный однако файервол. А Вы ничего не путаете? Обычно дескрипторы возникают там, где в пользовательском пространстве необходимо адресовать память из пространства ядра. Напрямую пользовательская программа не имеет доступа к пространству ядра, вот и приходится вводить дескрипторы. То есть это не способ защитить структуру, а способ предоставить доступ к области недоступной пользователю. Если структура уже находится в пространстве пользовательской программы, то смысла в дескрипторах никакого, только код усложнять, да скорость снижать. ИМХО