LINUX.ORG.RU

История изменений

Исправление www_linux_org_ru, (текущая версия) :

Но в Си это невозможно, использование void * неизбежно, и мелкие удобства при его использовании приятны.

когда мы кастим от Parent* к Child*, то каст не выписываем; когда кастим наоборот, то выписываем:

Сhild* child_ptr = (Child*) parent_ptr;

теперь вопрос — почему мы должны сделать исключение из этого простого (и возможно даже естественного) правила, когда у нас роль Parent* играет void* ?

void*, кстати, нужен в плюсах, когда хочется сделать например свой параметрический полиморфизм

Исходная версия www_linux_org_ru, :

Но в Си это невозможно, использование void * неизбежно, и мелкие удобства при его использовании приятны.

когда мы кастим от Parent* к Child*, то каст не выписываем; когда кастим наоборот, то выписываем:

Сhild* child_ptr = (Child*) parent_ptr;

теперь вопрос — почему мы должны сделать исключение из этого простого (и возможно даже естественного) правила, когда у нас роль Parent* играет void* ?

void*, кстати, нужен в плюсах, когда хочется сдеть например свой параметрический полиморфизм