Д>> Допустим есть:
Д>> CMyObject a, *b;
Д>> b = new CMyObject;
Д>> Как сделать что то типа (сам знаю что такое не работает, потому и говорю
что "типа")
Д>> delete (*)a;
Д>> a = *b;
Д>> А зато как бы было все замечательно...
Мудришь, однако. Было совсем непонятно, что тебе нужно в конечном
счете и что было бы замечательно.
БГ> Сформулируй вопрос
Д> Есть статическая переменная
Д> CMyObject a;
Д> есть указатель
Д> CMyObject *b = new CMyObject;
Д> приводим _a_ к указателю на ссылающемуся на область памяти объекта _а_
Д> удаляем _а_
Д> присвамиваем указателю _а_ содержимое _b_
Д> Ферштейн?
Ну и путаница. По пунктам.
1. если нужно получить адрес области памяти, используешь "&a".
2. delete используется для удаления объектов, память для
которых выделена new, само собой, передавать
delete адрес "a" неверно
Д> А надо что бы мы обращаясь к a, на самом деле обращались к b
Теперь попробую предположить, что ты хочешь. Если тебе нужно
завести одну переменную, которая могла бы хранить адрес
объектов, память для которых выделена динамически
или статически, возможно такое решение.
Заводишь в классе признак динамического выделения и делаешь
специальную функцию для освобождения объекта, которая
вызывает "delete this" для динамически
выделенных объектов:
CMyObject::CMyObject(int flag) { m_dyn = flag; }
void CMyObject::Free(void) { if(m_dyn) delete this; }
CMyObject a(0), *b, *x;
b = new CMyObject(1);
x = &a;
x->Work(); // что-то делаем...
x->Free(); // деструктор для a еще не вызван
x = b;
x->Work(); // что-то делаем...
x->Free(); // а вот динамический объект удаляется
...
// в конце области существования "a" вызовется деструктор для него
Если я опять тебя не понял, извини. Попробуй
выражать свои пожелания яснее.
--
Номер выпуска : 2709
Возраст листа : 186 (дней)
Количество подписчиков : 378
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/112467
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru