![]() |
|
Программирование >> Расширенная версия языка c++
Проверка усвоения материала в целом В этом разделе проверяется, хорошо ли вы материал этой и преды- дущих глав. 1. Поскольку для конструктора с одним аргументом преобразование типа этого аргумента в тип класса, в котором определен конструктор, происходит автоматически, исчезает ли в такой ситуации необходимость в использовании перегруженного оператора присваивания? 2. Можно ли в постоянной функции-члене использовать оператор coiist cast, чтобы разрешить этой функции-члену модифицировать вызвавший ее объект? 3. Философский вопрос: поскольку библиотека исходного C++ содержится в глобальном пространстве имен и для старых программ на C++ это уже свершившийся факт, какая польза от размещения указанной библиотеки в пространстве имен std задним числом ? 4. Вернитесь к примерам первых двенадцати глав. Подумайте о том, в каких из них функции-члены можно было бы сделать постоянными или статическими. Не те ли это примеры, в которых определение пространств имен наиболее предпочтительно? I Глава 14 Библиотека стандартных шаблонов ![]() Поздравляем! Если при изучении предыдущих глав этой книги вы действительно работали, то теперь можете с полным правом называть себя состоявшимся программистом на C++. В этой последней главе мы расскажем об одном из наиболее увлекательных и совершенных инструментов языка программирования C++ - библиотеке стандартных шаблонов (Standard Template Library, STL). Библиотека стандартных шаблонов не являлась частью исходной спецификации С++, а была добавлена к ней позже, в процессе стандартизации, на что и были направлены основные усилия разработчиков. Библиотека стандартных шаблонов обеспечивает общецелевые, стандартные классы и функции, которые реализуют наиболее популярные и широко используемые алгоритмы и структуры данных. Например, в библиотеке стандартных шаблонов поддерживаются уже известные нам векторы (vectors), списки (lists), очереди (queues) и стеки (stacks). В ней также определены различные процедуры доступа к этим структурам данных. Поскольку библиотека стандартных шаблонов строится на основе классов-шаблонов, входящие в нее алгоритмы и структуры применимы почти ко всем типам данных. Рассказ о библиотеке стандартных шаблонов необходимо начать с признания того факта, что она представляет собой вершину искусства программирования, и в ней используются самые изощренные свойства C++. Чтобы научиться понимать и применять библиотеку стандартных шаблонов, вам следует досконально освоить материал предыдущих глав и уметь свободно оперировать полученными знаниями. В особенности это касается шаблонов. Синтаксис шаблонов, на котором написана библиотека стандартных шаблонов, может показаться совершенно устрашающим, но не надо бояться, он выглядит сложнее, чем это есть на самом деле. Помните, в этой главе нет ничего более сложного, чем то, с чем вы уже познакомились в предыдущих главах кнти. поэтому не надо расстраиваться или пугаться, если на первых порах библиотека стандартных шаблонов покажется вам непонятной. Немного терпения, усидчивости, экспериментов и, главное, не позволяйте незнакомому синтаксису заслонить от вас исходную простоту библиотеки стандартных шаблонов. Библиотека стандартных шаблонов достаточно велика, поэтому вы узнаете здесь далеко не обо всех ее свойствах. Фактически, полного описания биб-
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |