Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Стандартна бібліотека на С + +: алгоритм

Реферат Стандартна бібліотека на С + +: алгоритм





+ +) Bjarne Stroustrup. The C + + Programming Language. 3rd Ed. Addison-Wesley, 1997

'' Другий'': стандартна бібліотека повинна містити в собі максимально-можливу кількість типових алгоритмів, забезпечувати просту роботу з більшістю (в ідеалі, зі усіма) об'єктами, з якими може взаємодіяти програма. Одним з прикладів реалізації цього принципу є мова Python, девіз якого "Batteries included" (батарейки в комплекті) Guido van Rossum. .


Структура бібліотеки


У бібліотеці виділяють п'ять основних компонентів:

* 1. Контейнер (container) - зберігання набору об'єктів в пам'яті. p> * 2. Ітератор (Iterator) - забезпечення засобів доступу до вмісту контейнера. p> * 3. Алгоритм (Algorithm) - визначення обчислювальної процедури. p> * 4. Адаптер (Adaptor) - адаптація компонентів для забезпечення різного інтерфейсу. p> * 5. Функціональний об'єкт (functor) - приховування функції в об'єкті для використання іншими компонентами.

Поділ дозволяє зменшити кількість компонентів. Наприклад, замість написання окремої функції пошуку елемента для кожного типу контейнера забезпечується єдина версія, яка працює із кожним з них, поки дотримуються основні вимоги.


Алгоритми

У бібліотеці STL існує група функцій, виконують деякі стандартні дії, наприклад пошук, перетворення, сортування, копіювання і т. д. Вони називаються алгоритмами. Параметрами для алгоритмів, як правило, служать ітератори. Алгоритмом немає ніякого діла до типу переданого йому ітератора. Головне, щоб останній підпадав під певну категорію. Приміром, якщо параметром алгоритму має бути односпрямований ітератор, то підставляється ітератор повинен бути або односпрямованим, або двонапрямленим, або ж ітератором довільного доступа.Прімером алгоритму може служити equal. Він порівнює два ланцюжки даних, адресованих вхідними ітераторами, і описаний таким чином:

В 

template

bool equal (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2);


Перший параметр - вхідний ітератор, який вказує на першу ланцюжок порівнюваних даних. Другий адресує індикатор кінця діапазону даних. Третій параметр - друга ланцюжок порівнюваних даних. А ось фрагмент порівняння двох векторів (масивів) v1 і v2:

В 

bool isEqual = equal (v1.begin (), v1.end (), v2.begin ());


Тут використані стандартні методи векторів: begin () повертає ітератор, налаштований на початок ланцюжка даних, а end () повертає індикатор виходу за діапазон. Якщо всі елементи векторів попарно дорівнюють один одному, то equal поверне значення "істина" (true). Зазначимо, що всі алгоритми можна розділити на дві основні категорії: ті, які змінюють дані, і ті, які їх не змінюють.



Висновок


Зауваження по назвою С + +: + + - знак операції инкремента в С, якщо етa операція застосовується до змінної (Зазвичай до індексу масиву або вказівником) значення змінної збільшується так, щоб вказувати на наступний елемент. Назва С + + було запропоновано Ріком Маскітті (Rici Mascitti). С + + в подальшому слід розглядати як уточнююче назву, що вживається або за формальним приводом, або під уникнення двозначності. Серед присвячених С + + іменується С, а мова З, описаний у, "старим С". Більш короткий позначення С є синтаксичної помилкою. Воно також використовувалося як назва одного, що не що відноситься до теми статті, мови. Цінителі семантики З знайдуть, що С + + менш виразному ніж + + С, однак останнє не є прийнятним назвою. Мова не названий D, так як є розширенням С, а не спроба вирішити якісь проблеми початку притаманні базової структурі язикa С. Назва С + + відображає еволюційний характер змін щодо старого С. Ще одну інтерпретацію назви С + +.

Еволюціонізіруя з мови С, C + + пройшов через кілька проміжних етапів відомих під загальною назвою "С з класами". Основним наміром було створення можливостей абстракції при проектуванні великих систем і в той же час корисних в областях, де дуже важливі лаконічність С і його здатність виражати низькорівневі деталі. У зв'язку з цим було спеціально передбачено щоб використання класів С, що надають загальний і гнучкий механізм структурування не приводило у порівнянні зі старим З до витрат ні по пам'яті ні за часом виконання. Зa винятком таких деталей як введення нових ключових слів, С + + є надбезліччю мови С. "Реалізація та сумісність". Мова повністю реалізований і використовується.



Список використаної літератури


1. Страуструп Б. Мова програмування C + +, спец. вид. Пер. з англ. - М.: "Видавництво БІНОМ"; СПб.: Невський Діалект, 2001. p> 2. Лішнер Р. С + +. Довідник. - СПб.: Пітер, 2005. p> 3. Саттер Г. Нові складні завдання на С + +. : Пер. з англ. - М.: Видавничий дої "Вільямс", 2005 ...


Назад | сторінка 2 з 3 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Мова SMS - що це таке. Бути чи не бути йому в нашому житті
  • Реферат на тему: Мова Paskal. Основні елементи мови. Структура програми
  • Реферат на тему: Розробка прикладної програми для криптографічного обробки даних шифром Цеза ...
  • Реферат на тему: Системи, керовані потоком даних. Мова "Dataflow Graph Language" ...
  • Реферат на тему: Створення бази даних магазину з продажу спортивного інвентарю з назвою &Буд ...