Здравствуйте, D. Mon, Вы писали:
C>>Это очень просто делается — достаточно рядом с объектом держать ссылку на его pointers bitmap. DM>Неа, не все так просто. Подумай о массивах структур и их слайсах, например. Layout объектов и структур он не стал менять.
Если у структур с указателями есть ссылка на их тип (можно в виде vtbl), то не проблема.
C>>За время развития D уже даже и C++ успел разогнаться до того, что Cairo в стандарт хотят включить. DM>Когда над языком полтора человека работают, ничего удивительного. Посмотрел бы я, как ты со своим языком будешь С++ обгонять по росту.
Так в том и вопрос — почему за 15 лет всего два человека язык используют? Это уже явный признак фэйла.
Здравствуйте, Cyberax, Вы писали:
C>>>Это очень просто делается — достаточно рядом с объектом держать ссылку на его pointers bitmap. DM>>Неа, не все так просто. Подумай о массивах структур и их слайсах, например. Layout объектов и структур он не стал менять. C>Если у структур с указателями есть ссылка на их тип (можно в виде vtbl), то не проблема.
Фишка как раз в том, что такой ссылки там нет, структуры там бинарно совместимы с Си. Иначе это действительно просто было бы.
Здравствуйте, D. Mon, Вы писали:
DM>>>Неа, не все так просто. Подумай о массивах структур и их слайсах, например. Layout объектов и структур он не стал менять. C>>Если у структур с указателями есть ссылка на их тип (можно в виде vtbl), то не проблема. DM>Фишка как раз в том, что такой ссылки там нет, структуры там бинарно совместимы с Си. Иначе это действительно просто было бы.
Тогда нужен тип у массива или какие-то другие дополнительные runtime-метки.
Здравствуйте, Cyberax, Вы писали:
DM>>Фишка как раз в том, что такой ссылки там нет, структуры там бинарно совместимы с Си. Иначе это действительно просто было бы. C>Тогда нужен тип у массива или какие-то другие дополнительные runtime-метки.
Ага, а теперь передадим один из элементов массива структур по ссылке куда-нибудь. Передавать еще ссылку на массив? Менять всю кодогенерацию вызовов и передавать с указателями ссылку на тип? В общем, не настолько там все тривиально, как кажется.