Применение индексирования |
Приведенная в листинге 2.5 программа создает объект GCPtr, указывающий на массив, состоящий из 10 элементов типа int. Далее она распределяет в Динамической памяти такой массив и инициализирует его значениями Целых чисел от 0 до 9. В завершение, эти значения выводятся на экран. Программа выполняет перечисленные действия с помощью индексирования объекта GCPtr. . Листинг 2.5. Демонстрация индексирования объекта GCPtr I #include <iostream> #include <new> #include "gc.h" using namespace std; int main() { try // Создает объект GCPtr для указания на массив из 10 элементов типа //int. GCPtr<int, 10> ар = new int[10]; // Присваивает массиву значения с помощью индексирования, for(int i=0; i < 10; i++) ap[ij = i; // Теперь выводит содержимое массива, for(int i=0; i < 10; i++) cout « ap[i] « " "; cout « endl; } catch(bad_alloc exc) { cout « "Allocation failure!\n"; return 1; } return 0; } Вывод программы при выключенном режиме отображения приведен далее. 012345 6 789 Поскольку объект GCPtr — обычный указатель языка С++, никакой проверки границ не проводится, поэтому возможен доступ к элементам за границами размешенного в динамической памяти массива. Следовательно, обращайтесь к массиву с помощью объекта типа GCPtr с той же тщательностью, с какой вы обрабатываете массив с помощью обычного указателя языка С++.
|