доброе утро, уважаемые эксперты! пожалуйста, подскажите как динамически создать объект класса без использования оператора NEW. например, я выделил память через globalalloc (или наподобие этого), и теперь хочу разместить именно в этой памяти объект ранее описанного класа. как мне это сделать? (ответы "а зачем?" не принимаются, если спрашиваю, то значит надо.) я пользуюсь vis c++ 6.
Здравствуйте, soflot! Правильный обьект состоит из двух частей - кода и данных, которые хранятся в разных местах памяти. То есть, если нужен абсолютно новый обьект, который не был еще загружен в память, придется еще копировать в эту память и его, и вызывать дальним вызовом. А так, выделяешь память, копируешь туда таблицу виртуальных методов обьекта, его данные и т.д. Дело долгое, но выполнимое. Ответ отправлен: 19.10.2004, 18:32 Отправитель: DSota Отвечает bocha
Ответ отправлен: 20.10.2004, 02:49 Отправитель: bocha Отвечает vitya
Здравствуйте, soflot! Используйте размещающую форму оператора new. void * ptr = GlobalLock(hGlob); ClassA * p = new (ptr) ClassA(params); Ответ отправлен: 20.10.2004, 11:24 Отправитель: vitya
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.