Шрифт:
17.2. Основы
Начнем нашу поступательную разработку класса
Очевидно, что этот код создает объект класса
Как реализовать эту схему в компьютерной памяти? Как хранить значения и обеспечивать к ним доступ? Очевидно, что мы должны определить класс и назвать его
Итак, как представить стрелку, изображенную на рисунке? Представим себе, что ее нет. Мы можем определить структуру данных фиксированного размера.
Игнорируя некоторые детали, связанные с обозначениями, получим нечто, похожее на следующий рисунок.
Это просто и красиво, но как только мы попробуем добавить элемент с помощью функции
Прежде чем продолжить проектирование класса vector, изучим понятие “указатель” более подробно. Понятие “указатель” — вместе с тесно связанным с ним понятием “массив” — это ключ к понятию “память” в языке C++.
17.3. Память, адреса и указатели
Все, что расположено в памяти, имеет адрес. Рассмотрим пример.
Эта инструкция резервирует участок памяти, размер которого определяется размером типа