Непрозрачный указатель
-
Определение и использование непрозрачных указателей
- Непрозрачные указатели — частный случай непрозрачных типов данных, указывающих на неопределенные данные.
- Используются в нескольких языках программирования, включая Ada, C, C++, D и Modula-2.
- Строго типизированные языки позволяют объявлять переменные и сравнивать значения непрозрачных указателей, но не позволяют их изменять.
-
Преимущества и применение
- Скрывают детали реализации интерфейса от клиентов, что упрощает совместимость и перекомпиляцию.
- Позволяют создавать простой интерфейс, скрывая большую часть деталей в отдельном файле.
- В C++ используются для инкапсуляции и скрытия реализации классов, что упрощает двоичную совместимость и ускоряет компиляцию.
-
Примеры использования
- В Ada дескриптор типа является непрозрачным указателем на реальную реализацию, которая не определена в спецификации.
- В C непрозрачные указатели используются для скрытия информации и инкапсуляции, что позволяет избежать перекомпиляции при изменении определения структуры.
- В C++ шаблон d-указателя широко используется для скрытия реализации классов и ускорения компиляции.
-
Дополнительные ресурсы
- Ссылки на другие статьи и ресурсы, связанные с непрозрачными указателями и идиомами программирования.
-
Примечания
- Упоминание о «преобразовании указателя в случайное число» как о способе получения «действительно непрозрачного» указателя.