LINUX.ORG.RU

В Learn C The Hard Way такое есть в одном из примеров, но не уверен, что подойдёт, ибо недописанное и изложение материала на любителя.

Lilly
()

вкуривание документации по glib,gobject,gtk,vala (да,да - там чистый ООП на чистом С) вкупе с разбором примеров и исходников помогает лучше книги..да и вставляет не по детски

сразу становится понятно зачем/почему страуструп сделал c++

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Да мне в принципе это ООП в си как бы нафиг не сдалось, просто увидел в Xlib'е такую реализацию и присел от восхищения. Просто хотелось бы про подобные трюки почитать.

sambist ★★
() автор топика
Ответ на: комментарий от sambist

и присел от восхищения

А чем, простите, там восхищаться?

Pavval ★★★★★
()
Ответ на: комментарий от qulinxao

по той же причине почему php массовей perl?

Все верно, но, есть подозрение, что сам си (макроассемблер) был в свое время запилен по той же самой причине.

anonymous
()
Ответ на: комментарий от qulinxao

Страуструпу для своих задач нужна была наследуемость и всякие прочие фичи. Вот он и выдумал С++. А всякие нехорошие люди стали это пихать во все щели, не заботясь о том, нужен ли там С++ или можно обычным человеческим С обойтись!

А потом вообще пхытон стали использовать...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от sambist

просто увидел в Xlib'е такую реализацию и присел от восхищения

пора начинать учить с++

anonymous
()
Ответ на: комментарий от qulinxao

по причине отсутствия предмета интереса?

anonymous
()
Ответ на: комментарий от qulinxao

Потому что он полный ООП: всё есть объект, вместо вызова методов передача сообщений. Всё это работает значительно медленнее C и C++.

uuwaan ★★
()
Ответ на: комментарий от sambist

Просто хотелось бы про подобные трюки почитать.

Открываешь книжку по C++ на месте, где рассказывается, как объекты размещаются в памяти, как устроены виртуальные функции. Воспроизводишь это на C. Всё, ты знаком с этими крутыми трюками.

uuwaan ★★
()
Ответ на: комментарий от uuwaan

Всё, ты знаком с этими крутыми трюками.

тока с vtbl как оно сделано в данной версии.

вариантов же тегирования данных для получения разных сочетаний море, т.е тот же вариант с прототипным объекченьем в чистом С проще(не сложнее) чем в классовом С++

qulinxao ★★☆
()
Ответ на: комментарий от uuwaan

разьясню,

в отличии от классового(которое может быть легко реализованно через compile-time) прототипному оказывается нужен какой никакой рантайм по интерпретации описания обьекта(которое вынужденно тем или иным способом привязано(либо как включённое поле,либо через отдельную «таблицу описаний» типов(т.е состава структуры - который рантайм могбы ...)) т.е автоматом получается нечто похожее на первые версии Коксового Objective-C

не в части синтаксиса, а в части как оно жужит при исполнении.

qulinxao ★★☆
()
Ответ на: комментарий от uuwaan

т.е сырцы первых версий Objective-C вполне достаточный источник «прототипных обьектов в чистом С»

qulinxao ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.