THIS SECTION IS UNDER CONSTRUCTION
Указатели +---------+ |Pointer O|---------->+--------------+ +---------+ | | | Data | | | +--------------+ Указатели ОЧЕНЬ РАСПРОСТРАНЕНЫ. Длинна указателя зависит от платформы. +---+---+---+---+ | Pointer | Windows 32-bit +---+---+---+---+ +---+---+---+---+---+---+---+---+ | Pointer | IRIX 64-bit +---+---+---+---+---+---+---+---+
На деле проблемы начинаются в первую очередь в архитектурах использующих сегментацию. В частности для x86 - это DOS и как апофеоз OS/2.
+---+---+ |Offset | NEAR 16-bit pointer +---+---+ +---+---+---+---+ |Segment|Offset | FAR 16-bit pointer +---+---+---+---+ +---+---+---+---+ | Offset | NEAR 32-bit pointer +---+---+---+---+ +---+---+---+---+---+---+ |Segment| Offset | FAR 32-bit pointer +---+---+---+---+---+---+
Huge pointers:
Причины существования моделей памяти: Модели памяти
Длинна указателя на код и данные может отличаться в разных моделях
Концептуальный RTL для указателей auto_ptr<> - указатель храниться только в одной копии если происходит присваивание то он не теряется (destructive copy) Клонирование объекта обычное Copy-on-Write smart pointers отслеживание счетчика ссылок на объект link list Resource Locking обычный реентерабельный в пределах одной нити Проблемы с циклическими ссылками