Мы обсуждали массивы в главе 4. Массив — это не более чем указатель и некоторая область памяти. Если программист осторожен и нетребователен, для выполнения операций с массивами достаточно этих примитивных знаний. Существует много операций, которые хотелось 6bt выполнять с массивами, однако они не встроены в С++. С помощью классов С++ программист может создать АТД массив, который предпочтительнее «сырых» массивов. Класс массив (такой класс будет создан в главе 8) может обеспечивать ряд новых полезных возможностей, таких как
проверка диапазона индексов;
произвольный выбор диапазона индексов;
присваивание массива;
ввод и вывод массива;
массивы, которые знают свой размер.
Недостаток здесь заключается в том, что мы создаем заказной, нестандартный тип данных, который не доступен точно в таком виде в большинстве реализаций С++. Впрочем, использование С++ и объектно-ориентированного программирования быстро возрастает. Решающим моментом является то, что работы по профессиональному программированию развиваются в направлении крупномасштабной стандартизации и распространения библиотек классов для более полной реализации потенциала объектной ориентации.
С++ имеет небольшой набор встроенных типов. Абстрактные типы данных расширяют базу языка программирования.
Замечание по технике программирования 7.8
Программист имеет возможность создавать новые типы, используя формализм классов. Эти новые типы можно применять так же, как и встроенные типы данных.
Поэтому С++ является расширяемым языком. Несмотря на возможность легко расширять его с помощью новых типов, базовый язык сам по себе остается неизменным.
Новые АТД, созданные в средах С++, могут быть собственностью отдельных людей, небольших групп или компаний. АТД можно помещать в стандартные библиотеки классов с целью их широкого распространения. Это не способствует стандартизации, хотя фактически вопрос о стандартизации возникает. В полном объеме значение С++ будет реализовано лишь тогда, когда станут широко доступны важные и стандартизированные библиотеки классов. Необходимы формальные процедуры поддержки разработки стандартизированных библиотек. В Соединенных Штатах такая стандартизация часто осуществляется при участии ANSI — Американского Национального Института Стандартов. ANSI непрерывно развивает стандартную версию С++. Независимо от того, каким образом в конце концов появляются эти библиотеки, читатель, который знает С++ и объектно-ориентированное программирование, будет готов овладеть достоинствами быстрой компонентно-ориентированной разработки программного обеспечения благодаря возможностям библиотек АТД.
Комментариев нет:
Отправить комментарий