Указатель типа void: зачем они нужны? - C (СИ)
Формулировка задачи:
Здравствуйте! Начал изучать Язык С, в книжке написано:
Только не понятно зачем нужны такие преобразования?
Не могли бы подсказать, в каких случаях нужно делать преобразование какого-либо указателя на тип void*?
Указатели на void
Любой указатель на объект можно привести к типу void * без потери информации. Если результат
подвергнуть обратному преобразованию, то мы получим прежний указатель. В отличие от преобразований
указатель-в-указатель, которые требуют явных операторов приведения к типу, в
присваиваниях и сравнениях указатель любого типа может выступать в паре с указателем типа void * без
каких-либо предварительных преобразований типа.
Решение задачи: «Указатель типа void: зачем они нужны?»
textual
Листинг программы
template<typename result, typename source> result pointer_cast(source *v) { return static_cast<result>(static_cast<void*>(v)); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д