LINUX.ORG.RU

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

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

И? list определён через *list, *list определён через list. Круг замкнулся.

нет. указатель вообще-то «псевдотип», или «тип-метод_доступа», его не нужно определять явно.

то есть

T* variable;

не требует определения T, а только объявления, что он вообще существует.

то есть в данном случае *list не «определен» через list, а просто является типом-атрибутом(типом спутником, типом-доступом к значению) list. соответственно вы можете определять list в любых терминах, в том числе и list *, и это не будет является рекурсией.

в компиляторе вообще нет никакой «рекурсивности» по этому поводу. не ну не знаю как в ваших хаскелях и проч. но в простых таких язычках, типа си, с++, шарпов, яв. там просто тип-указатель рождается автоматом при попытке обьявить некий тип.

разговор вообще-то был о наследовании. и что якобы «рекурсия» в типе рождает бесконечное наследование… но это вообще в огороде бузина.

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

И? list определён через *list, *list определён через list. Круг замкнулся.

нет. указатель вообще-то «псевдотип», или «тип-метод_доступа», его не нужно определять явно.

то есть

T* variable;

не требует определения T, а только объявления, что он вообще существует.

то есть в данном случае *list не «определен» через list, а просто является типом-атрибутом(типом спутником, типом-доступом к значению) list. соответственно вы можете определять list в любых терминах, в том числе и list *, и это не будет является рекурсией.

в компиляторе вообще нет никакой «рекурсивности» по этому поводу. не ну не знаю как в ваших хаскелях и проч. но в простых таких язычках, типа си, с++, шарпов, яв. там просто тип-указатель рождается автоматом при попытке обьявить некий тип.

разговор вообще-то был о наследовании. и якобы «рекурсия» в типе рождает бесконечное наследование… но это вообще в огороде бузина.