Непрозрачный указатель (англ. opaque pointer) — идиома программирования, которая реализована в виде указателя на данные, структура которых неизвестна функции, получающей этот указатель в качестве своего аргумента. Недостаток информации, однако, не может стать препятствием для передачи этого указателя в ту часть кода, которая знает, как с ним работать[1].

Данная идиома была реализована в языках программирования C, Objective C, COBOL и C++. Она известна также под названиями указатель на реализацию (pimpl), d-указатель и «чеширский кот»[2]. В языке программирования C непрозрачные указатели используются для создания интерфейса между структурами данных языка C и теми языками программирования, которые не имеют методов обращения к ним[3].

Примечания править

  1. Клеменс, 2015, Непрозрачный указатель, с. 359.
  2. Смит, 2013, Порождающий шаблон, с. 121.
  3. Клеменс, 2015, Мирное сосуществование, с. 127.

Источники править