Re[5]: Можно ли перемещать объекты в памяти ?
От: _shura Украина  
Дата: 29.12.04 09:28
Оценка:
Здравствуйте, 1234, Вы писали:

1>То объекты этого класса, если я неошибаюсь, можно двигать в памяти как душе угодно(разумеется в валидных областях памяти). memmove, memcpy and e.t.c.



B>>Думаю, не нужно объяснять, что произойдет при вызове set для объекта, который был перемещен после создания с помощью memmove ...

1>Данный пример иллюстрирует проблему появления висячей ссылки(dead reference), это произойдёт так же в случае если на объект имеются ссылки где-то вне объекта. Эти вещи нужно учитывать, точно так же как если куда-то передаётся адрес какого-то объекта, то нужно гарантировать определённое время жизни этого объекта, что бы непроизошло обращение к уже удалённому объекту.

Это задачка уровня сборщика мусора и, для начала, неплохо было бы поработать с литературой — например Джефф Элджер, "C++: библиотека программиста" (http://rsdn.ru/res/book/cpp/cpp_real_programmers.xml
Автор(ы): Джефф Элджер
Эта книга сборник творческих идей и головоломок продвигающая вас к высшему
знанию С++. Книга ориентированна на программистов, обладающим опытом
программирования на С++.
)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.