[c++] технологии Runtime classes и Smart Pointers

Yulka-MOl

объясните на пальцах плз, что за зверь

Werdna

а о чёс речь? Что такое Runtime classes?

kokoc88

Это может понять только виндузятник. И то с трудом.

kokoc88

В общем, runtime class - это программная эмуляция RTTI в MFC. А smart pointer - указатель с подсчётом ссылок. Я бы сказал, что отличий между ними нет. Как нет и ничего общего. Прежде чем задавать такие вопросы, стоит хотя бы 5 минут почитать документацию.

Landstreicher

Зачем такое надо? Чем не устраивает встроенный в компилятор RTTI?

kokoc88

Там целая история, которая начинается с того, что до версии 4.0 в Visual C++ не было поддержки RTTI, и заканчивая способами создания классов в MFC. MFC, вообще говоря, представляет из себя сплошной хак.

bleyman

Просто интересно - я правильно понимаю, что в мфц это сделано через виндовую технологию подмены WndProc? Тогда это не то чтобы хак, это использование некоей достаточно мощной технологии для реализации совершенно левой вещи =)

kokoc88

Причём тут оконная процедура и простые классы? Оконная процедура есть только у окон, и меняется с помощью установки window long.

bleyman

Ну я не знаю просто.
А в чём тогда там хак?

Yulka-MOl

если можно ссылочку на документацию.
У меня почему-то эти технологии с Java больше ассоциировались, а тут по C++ спросили.
P.S. Название темы исправил. Никаких отличий не надо

bleyman

Если с жавой - тогда рантайм классы это классы создаваемые (тададам!) в рантайме, то есть во время исполнения, а смарт-пойнтеры - это пойнтеры, которые всегда указывают куда надо (то есть объект не может быть удалён, пока на него указывает хотя бы один указатель, а при перемещении объекта в памяти (сборщиком мусора) указатели начинают указывать туда, куда надо). Вообще их правильней ссылками называть. И в жаве все указатели такие (разве что если там есть возможность специальным образом писать unmanaged код)!
Оставить комментарий
Имя или ник:
Комментарий: